|
1 year ago | |
---|---|---|
.vscode | 1 year ago | |
public | 1 year ago | |
src | 1 year ago | |
.gitignore | 1 year ago | |
README.md | 1 year ago | |
env.d.ts | 1 year ago | |
index.html | 1 year ago | |
package.json | 1 year ago | |
pnpm-lock.yaml | 1 year ago | |
tsconfig.app.json | 1 year ago | |
tsconfig.json | 1 year ago | |
tsconfig.node.json | 1 year ago | |
update | 1 year ago | |
vite.config.ts | 1 year ago |
也许也不是很自动
经过了一小段时间选型放弃了以下方法:
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
中的scripts
添加对应命令,比如原来是"build:h5": "uni build"
, 添加一个 "patch-build:h5": "npm version patch && npm run build:h5"
或者你自己喜欢的脚本名build:h5
就行npm run patch-build:h5
package.json
中的scripts
添加对应命令,比如原来是"build:mp-weixin": "..."
, 添加一个 "patch-build:mp-weixin": "npm version patch && npm run build:mp-weixin"
或者你自己喜欢的脚本名build:mp-weixin
就行npm run patch-build:mp-weixin
如果你的项目不依赖于构建,或者你希望每一次提交都更新版本号,可以尝试在目录.git/hooks
添加文件pre-commit
npm version patch --no-git-tag-version
git add package.json # 你的package.json目录
此时你的项目会在每一次提交时自动更新版本号
如果你希望只在某一个根目录被更新时更新:
if git diff HEAD --name-only | grep -q "^frontend/"; then
cd frontend
npm version patch --no-git-tag-version
git add package.json # 你的package.json目录
fi
npm run dev # 旧版本
# 停止应用
npm run patch-build # 构建并更新版本号
npm run dev # 新版本
虽然版本被更新了,但还是得访问到,修改以下文件以访问package.json
在vite.config.ts
中的resolve
字段添加'@@': fileURLToPath(new URL('.', import.meta.url))
或者别的你喜欢的别名,这样可用@@
直接访问根目录
如果你的vite.config.ts
没有该字段,或者没有该文件,那么:
vite.config.ts
现在你可以通过@@访问根目录了,例如:
import packageJson from '@@/package.json' // 导入package.json
const version = packageJson.version
或者使用vite提供的json功能
import { version } from '@@/package.json
不过直接使用相对路径访问也是可行的,比如../../package.json
这种形式
// 相对路径
const version = require('../../package.json').version
如果是typescript项目, 需要另外在ts.config.json
的include内添加"package.json"
, 以及path中也要添加"@@/*": ["./*"]
, 另请参考ts官方文档
npm help version