vue项目打包时让版本号递增,并展示在页面上
process.env.NODE_ENV:uat/prod
//version.json
{"prod":"2.1.4","uat":"1.2.6"}
const fs = require("fs");
let packageJson = require("./src/config/version.json");
function addVersion(pJson) {
let version = "1.0.0.1";
if (!pJson) return version;
// 将版本号切割成数组,计算出下一个版本号
let arr = pJson[process.env.NODE_ENV].split(".").map(e => {
return parseInt(e)
});
arr[arr.length - 1] += 1;
for (let i = arr.length - 1; i > 0; i--) {
if (arr[i] > 9) {
arr[i] = 0;
if ([i - 1] > -1) arr[i - 1] += 1;
}
}
return arr.join(".");
}
//设置开发环境下,每次启动不更新版本
if (process.env.NODE_ENV !== "development") {
packageJson[process.env.NODE_ENV] = addVersion(packageJson);
//往version.json中写入最新的版本号
fs.writeFile("./src/config/version.json", JSON.stringify(packageJson), (err) => {
if (err) {
console.error(err);
return false;
}
});
}
在页面中获取版本号并展示
let version = require("@/config/version.json");
//根据当前的环境,获取对应的版本号
data() {
return {
version: version[process.env.NODE_ENV],
};
},
//在页面中展示
<div>版本:v{{ version }}</div>

浙公网安备 33010602011771号