README.md 1.8 KB

自动更新版本号示例

也许也不是很自动

经过了一小段时间选型放弃了以下方法:

  • git hook pre-commit 无法同步到远程仓库所有人强制使用
  • npm standard-version deprecated了,悲。而且依赖于约定式提交,我不确定能不能让大伙习惯使用这套东西
  • npm commit-and-tag-version npm standard-version的fork持续维护版本 同上
  • google release-please 只支持github

最后还是直接用了npm原生命令npm version
原理如下: 使用npm version patch会增加最后一位版本号,并且自动commit 没了

步骤

  • package.json中的script添加对应命令,比如原来是"build:h5": "uni build", 添加一个 "patch-build:h5": "npm version patch && uni build"或者你自己喜欢的脚本名
  • 添加并提交你当前工作区,因为该命令不会在工作区没干净之前生效,如果需要尝试构建,使用原先的build:h5就行
  • 运行npm run patch-build:h5

本项目预览

npm run dev # 旧版本
# 停止应用
npm run patch-build # 构建并更新版本号
npm run dev # 新版本

访问package.json

虽然版本被更新了,但还是得访问到,修改以下文件以访问package.json
vite.config.ts中的resolve字段添加'@@': fileURLToPath(new URL('.', import.meta.url))或者别的你喜欢的别名,这样可用@@直接访问根目录
例如:

import packageJson from '@@/package.json' // 导入package.json
const version = packageJson.version

不过直接使用相对路径访问也是可行的

如果是typescript项目, 需要另外在ts.config.json的include内添加"package.json", 以及path中也要添加"@@/*": ["./*"]

附录

npm help version