javascript - 如何在 grunt 中更改项目的版本,但从我的项目中的文件的更改

标签 javascript gruntjs

在带有 grunt 的 Web 项目中,如何配置 gruntfile.js 运行时的版本、在 index.html 中应用缓存项目的版本以及 .js 和 .css 标题中的更改版本。例如:

我可能有:

... js/last.js, js/new.js ...

我运行,我想要得到:

js/lastAndNew.js <- 版本 0.0.2

但是当我可能有: ... js/last.js, js/new1.js, js/new2.js, js/new3.js, js/new4.js, js/new5.js ...

我想要得到,例如:

js/lastAndAllNews.js --> 版本 0.1.0(或者可能是 1.0.0,我不知道真正的工作原理)

对于 grunt 自动更改我项目上的版本,我在 gruntfile.js 代码中做什么?

只有我得到了凹凸,将版本号一一更改。只需一项简单的配置即可。

最佳答案

我通常在我的 grunt 文件中做这样的事情..

将其放在 grunt 文件的顶部以从 package.json 中读取版本,该版本将版本读取到变量中,递增它,然后更新 package.json。如果您不想在每次构建时增加版本,只需使用第一行。

var pkg = grunt.file.readJSON('package.json');
pkg.version = pkg.version.split(".");
var subversion = pkg.version.pop();
subversion++;
pkg.version.push(subversion);
pkg.version = pkg.version.join(".");
grunt.file.write('package.json', JSON.stringify(pkg, null, 2));

然后您可以使用它来使用您喜欢的任务来定义页眉和页脚。

Here's an example我的一个 grunt 文件就是这样做的。

关于javascript - 如何在 grunt 中更改项目的版本,但从我的项目中的文件的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49780321/

相关文章:

node.js - 在代理后面安装 Bower 包

node.js - grunt-cucumber 未运行 step_definitions

javascript - 从 JS 切换到 C++ 时,您会遇到什么问题?

javascript - 如何将像素值移动到 Canvas 中的下一个鼠标移动位置?

javascript - Jquery Accordion 上的图标更改

javascript - 在 Grunt 上运行的 Jasmine 找不到异步函数

gruntjs - 将 Grunt 任务输出管道传输到另一个任务输入?

javascript - 如何保存动态创建的复选框的更改状态

javascript - 如何在 Phaser 3 中正确调整图像大小以保持质量

gruntjs - 咕噜有线EP :app no such file or directory bower. json