2017-02-07 205 views
2

一個科爾多瓦應用程序的版本號可以在​​3210的<widget>元素進行設置,但有一種方法來設置它編程?離子/科爾多瓦:編程設置應用程序版本

<?xml version="1.0" encoding="utf-8"?> 
    <widget defaultLocale="en-US" id="com.example.myapp" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> 
     <name>MyApp</name> 
... 

我想在構建期間使用版本號作爲版本號來設置版本號。這將是很好,如果我們能夠在構建時以編程方式更改config.xml中,例如通過運行Cordova cli命令。

回答

2

如果您使用咕嘟咕嘟,可以通過使用插件像gulp-xmlpoke來完成。

您可以通過命令行參數(例如gulp --buildVersion=1.2.3)將生成版本傳遞給gulp,並使用yargs將它們提取出來。

例一飲而盡任務:

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("./")); 
    }); 
相關問題