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>