用gulp修改json文件

时间:2015-03-11 14:01:43

标签: json node.js gulp

我有一个package.json文件:

{
    "name": "Name",
    "version": "0.0.0",
    "author": "Company",
    "description": "A sample project.",
    "private": true
}  

我希望能够使用gulp更新版本字段。我将使用环境变量将其设置为Jenkins的内部版本号:

var version = process.env.MAJOR +'.' + process.env.MINOR + '.' + process.env.BUILD_NUMBER;

我想要一个将json文件的version字段更新为version:

的值的任务
gulp.task('update-package-build-no', function () {
    pkg.version = version;
});

有什么想法吗?这甚至可以实现吗?我将使用angular读取我的package.json文件,以便在about页面上显示应用程序的版本号。

1 个答案:

答案 0 :(得分:2)

看看gulp-bump

您可以使用以下语法:

gulp.src("package.json")
  .pipe(bump(process.env.MAJOR + '.' + process.env.MINOR + '.' + process.env.BUILD_NUMBER))
  .pipe(gulp.dest('./'))

顺便说一下 - 它是major.minor.patch-tags + buildNumber。 : - )

  

构建元数据可以通过附加加号和一系列来表示   紧跟补丁后的点分隔标识符   预发行版。标识符必须只包含ASCII   字母数字和连字符[0-9A-Za-z-]。标识符绝不能为空。   确定版本优先级时,应该忽略构建元数据。   因此,只有构建元数据不同的两个版本具有   同样的优先权。示例:1.0.0-alpha + 001,1.0.0 + 20130313144700,   1.0.0-β+ exp.sha.5114f85。