項(xiàng)目每次打包后都需要改動(dòng)項(xiàng)目版本號(hào),這個(gè)改動(dòng)每次都需要在package.json中修改version,比較麻煩,到底有沒(méi)有一種打包后版本號(hào)自加的辦法。
創(chuàng)新互聯(lián)專注于企業(yè)成都營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、鄒平網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場(chǎng)景定制、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為鄒平等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
版本號(hào)自加其實(shí)可以使用fs修改文件來(lái)實(shí)現(xiàn)的。
具體思路是:在執(zhí)行打包命令npm run build時(shí),同時(shí)執(zhí)行一段js代碼,該代碼通過(guò)調(diào)用fs來(lái)自加修改package.json中的version,然后再進(jìn)行打包操作。
1、在package.json中將scripts中的打包命令修改為如下:
2、在src下創(chuàng)建addVersion.js:
3、在addVersion.js中寫入下面內(nèi)容,打包時(shí)使用fs修改package.json:
//npm run build打包前執(zhí)行此段代碼
let fs = require('fs');
//返回package的json數(shù)據(jù)
function getPackageJson() {
let data = fs.readFileSync('./package.json');//fs讀取文件
return JSON.parse(data);//轉(zhuǎn)換為json對(duì)象
}
let packageData = getPackageJson();//獲取package的json
let arr = packageData.version.split('.');//切割后的版本號(hào)數(shù)組
arr[2] = parseInt(arr[2]) + 1;
packageData.version = arr.join('.');//轉(zhuǎn)換為以"."分割的字符串
//用packageData覆蓋package.json內(nèi)容
fs.writeFile(
'./package.json',
JSON.stringify(packageData, null, "\t"
),
(err) => { }
);
4、最后執(zhí)行打包命令:npm run build便會(huì)發(fā)現(xiàn)package.json中的版本號(hào)變化了。