有一個網(wǎng)站是做釆購的是什么網(wǎng)互聯(lián)網(wǎng)推廣怎么找客戶
VUE項目打包自動更新版本號
此方法只針對 Vue
如果使用其他框架,可以此參照作為參考
一、先看效果
二、創(chuàng)建 buildVersion.js
文件
文件內(nèi)容 目前只針對3位版本號
遞增規(guī)則是 每次更新 加一次小版本,10次小版本向前遞增一個版本。如:1.0.9
遞增后 1.1.0
let fs = require("fs");
const getPackageJson = () => {// 讀取文件let data = fs.readFileSync("./package.json");// 轉(zhuǎn)換為 JSON 對象return JSON.parse(data);
};let packageData = getPackageJson();const updateVersion = () => {let version = packageData.version.split(".");let major = parseInt(version[0]); // 主版本號let minor = parseInt(version[1]); // 次版本號let patch = parseInt(version[2]); // 小版本號// 檢查并更新版本號if (patch < 9) {patch++; // 遞增小版本號} else {patch = 0; // 重置小版本號if (minor < 9) {minor++; // 遞增次版本號} else {minor = 0; // 重置次版本號major++; // 遞增主版本號}}// 更新版本號packageData.version = `${major}.${minor}.${patch}`;// 獲取當前日期和時間let now = new Date();let formattedDate = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, "0")}-${String(now.getDate()).padStart(2, "0")} ${String(now.getHours()).padStart(2, "0")}:${String(now.getMinutes()).padStart(2, "0")}:${String(now.getSeconds()).padStart(2, "0")}`;// 更新最后打包時間packageData.lastBuildTime = formattedDate;
};updateVersion();fs.writeFile("./package.json",JSON.stringify(packageData, null, "\t"),(err) => {if (err) {console.log("寫入版本失敗", err);} else {console.log("寫入版本成功 " + packageData.version);}}
);
三、修改packjson里面,scripts命令
"scripts": {"dev": "vue-cli-service serve","build:prod": "node ./buildVersion.js && vue-cli-service build"
}
執(zhí)行npm run build:prod
后自動更新version
和lastBuildTime