前言

页面中会显示当前版本号,每次更新需要手动更改版本号会很麻烦,现在是每次npm run build时会自动更新版本号,更新规律自己定义。

TODO:没有区分开发环境、测试环境、正式环境

创建自动更新版本脚本

在根目录下创建autoVersion.js脚本文件

const fs = require('fs')
const path = require('path')

// 读取 package.json 中的版本号
const packageJsonPath = path.resolve(__dirname, 'package.json')
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'))
let version = packageJson.version

// 分割版本号并递增
let [major, minor, patch] = version.split('.').map(Number)

patch++ // 递增补丁版本号
// if (patch >= 10) {
// 	patch = 0
// 	minor++
// 	if (minor >= 10) {
// 		minor = 0
// 		major++
// 	}
// }

// 更新版本号
version = `${major}.${minor}.${patch}`

// 定义环境变量内容,如果.env里面有其他配置要一起写进去
const envContent = `VITE_APP_VERSION = ${version}`

// 写入 .env 文件
const envPath = path.resolve(__dirname, '.env')
fs.writeFileSync(envPath, envContent, 'utf-8')
// 更新 package.json 中的版本号
packageJson.version = version

// 将更新后的 package.json 写回文件
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2), 'utf-8')

console.log(`版本号更新为: ${version}`)

页面获取版本号

在需要用到版本号的地方直接使用

const version = import.meta.env.VITE_APP_VERSION

修改package.json配置

修改build打包,新增autoVersion

    "build": "npm run autoVersion && vite build",
    "autoVersion": "node autoVersion.js"
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐