vue打包更新packge.json版本號的全過程
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}`;
// 獲取當(dāng)前日期和時間
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

四、在頁面地方使用

到此這篇關(guān)于vue打包更新packge.json版本號的全過程的文章就介紹到這了,更多相關(guān)vue打包更新packge.json版本號內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue使用Vue.extend創(chuàng)建全局toast組件實例
這篇文章主要介紹了vue使用Vue.extend創(chuàng)建全局toast組件實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03
使用WebSocket+SpringBoot+Vue搭建簡易網(wǎng)頁聊天室的實現(xiàn)代碼
這篇文章主要介紹了使用WebSocket+SpringBoot+Vue搭建簡易網(wǎng)頁聊天室的實現(xiàn),具體的步驟如下,需要的朋友可以參考下2023-03-03
VUE3+Element-plus中el-form的使用示例代碼
這篇文章主要介紹了VUE3+Element-plus中el-form的使用示例代碼,本文通過圖文示例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07
vue+springboot實現(xiàn)項目的CORS跨域請求
這篇文章主要介紹了vue+springboot實現(xiàn)項目的CORS跨域請求,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09
Vue3實現(xiàn)clipboard復(fù)制的使用示例
在日常開發(fā)中,為用戶提供復(fù)制文本功能的需求比較常見,下面介紹一款vue3可用的插件,可以快速實現(xiàn)這個功能,感興趣的可以了解一下2023-11-11
vue Element UI 解決表格數(shù)據(jù)不更新問題及解決方案
在使用Vue和ElementUI開發(fā)后臺管理系統(tǒng)時,可能會遇到表格數(shù)據(jù)不更新的問題,這通常是因為Vue的響應(yīng)式系統(tǒng)未檢測到數(shù)據(jù)變化或數(shù)據(jù)更新后未正確觸發(fā)視圖的重新渲染,本文給大家介紹vue Element UI 解決表格數(shù)據(jù)不更新問題,感興趣的朋友一起看看吧2024-10-10

