updateVersion.js
// changeVersion.js
const fs = require("fs");
// 读取package.json并返回JSON对象(带异常处理)
const getPackageJson = () => {
try {
const data = fs.readFileSync("./package.json", "utf8");
return JSON.parse(data);
} catch (err) {
console.error("读取package.json失败:", err);
process.exit(1); // 读取失败时终止程序
}
};
// 生成 年-月-日 HH:mm:ss 格式的时间字符串
const getFormattedVersion = () => {
const now = new Date();
// 手动获取各时间部分,确保补零(如1月→01,9分→09)
const year = now.getFullYear(); // 4位年(如2025)
const month = String(now.getMonth() + 1).padStart(2, "0"); // 月份从0开始,补零到2位
const day = String(now.getDate()).padStart(2, "0"); // 日期补零到2位
const hour = String(now.getHours()).padStart(2, "0"); // 小时补零到2位
const minute = String(now.getMinutes()).padStart(2, "0"); // 分钟补零到2位
const second = String(now.getSeconds()).padStart(2, "0"); // 秒补零到2位
// 拼接成 年-月-日 HH:mm:ss 格式
return `${year}-${month}-${day} ${hour}:${minute}:${second}`;
};
// 主逻辑:更新版本号并写入文件
const updateVersion = () => {
const packageData = getPackageJson();
// 生成指定格式的cloneVersion
packageData.cloneVersion = getFormattedVersion();
// 写入文件(保留缩进,确保JSON格式美观)
fs.writeFile(
"./package.json",
JSON.stringify(packageData, null, "\t"),
(err) => {
if (err) {
console.error("版本号写入失败:", err);
} else {
console.log("版本号写入成功:", packageData.cloneVersion);
// 示例输出:版本号写入成功:2025-12-30 10:45:30
}
}
);
};
// 执行更新
updateVersion();
使用
<template>
<H2>{{ `打包时间:${currentVersion}` }}</H2>
</template>
<script>
import packageVersion from "../../../package.json";
export default {
name: "",
components: {},
data() {
return {
currentVersion: packageVersion.cloneVersion || "",
};
},
methods: {},
watch: {},
};
</script>
在webpack打包命令前加入node updateVersion.js &&
"scripts" : {
"build": "node updateVersion.js && npm run command host=default "
}

就可以看是什么时候打的包了