可以在<widget>
的{{1}}元素中设置Cordova应用的版本号,但有没有办法以编程方式设置?
config.xml
我想在构建期间使用内部版本号作为版本号设置版本号。如果我们可以在构建时以编程方式更改config.xml,那将是很好的,例如通过运行Cordova cli命令。
答案 0 :(得分:2)
如果你正在使用Gulp,可以使用像gulp-xmlpoke这样的插件来完成。
您可以通过命令行参数(例如gulp --buildVersion=1.2.3
)将构建版本传递给gulp,并使用yargs提取它们。
示例gulp任务:
var gulp = require("gulp");
var argv = require("yargs").argv;
var xmlpoke = require("gulp-xmlpoke");
gulp.task("setAppVersion", function () {
return gulp.src("config.xml")
.pipe(xmlpoke({
replacements: [{
xpath: "/w:widget/@version",
value: argv.buildVersion,
namespaces: { "w": "http://www.w3.org/ns/widgets", "cdv": "http://cordova.apache.org/ns/1.0" }
}]
}))
.pipe(gulp.dest("./"));
});