vue打包更新packge.json版本號(hào)的全過程
VUE項(xiàng)目打包自動(dòng)更新版本號(hào)
此方法只針對(duì) Vue 如果使用其他框架,可以此參照作為參考
一、先看效果

二、創(chuàng)建 buildVersion.js 文件

文件內(nèi)容 目前只針對(duì)3位版本號(hào)
遞增規(guī)則是 每次更新 加一次小版本,10次小版本向前遞增一個(gè)版本。如:1.0.9 遞增后 1.1.0
let fs = require("fs");
const getPackageJson = () => {
// 讀取文件
let data = fs.readFileSync("./package.json");
// 轉(zhuǎn)換為 JSON 對(duì)象
return JSON.parse(data);
};
let packageData = getPackageJson();
const updateVersion = () => {
let version = packageData.version.split(".");
let major = parseInt(version[0]); // 主版本號(hào)
let minor = parseInt(version[1]); // 次版本號(hào)
let patch = parseInt(version[2]); // 小版本號(hào)
// 檢查并更新版本號(hào)
if (patch < 9) {
patch++; // 遞增小版本號(hào)
} else {
patch = 0; // 重置小版本號(hào)
if (minor < 9) {
minor++; // 遞增次版本號(hào)
} else {
minor = 0; // 重置次版本號(hào)
major++; // 遞增主版本號(hào)
}
}
// 更新版本號(hào)
packageData.version = `${major}.${minor}.${patch}`;
// 獲取當(dāng)前日期和時(shí)間
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")}`;
// 更新最后打包時(shí)間
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 后自動(dòng)更新version和lastBuildTime

四、在頁(yè)面地方使用

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

