在我做一个小的发布和标记它之前,我想更新这个包。Json来反映程序的新版本。
是否有编辑文件包的方法。json自动吗?
使用git预发布钩子会有帮助吗?
在我做一个小的发布和标记它之前,我想更新这个包。Json来反映程序的新版本。
是否有编辑文件包的方法。json自动吗?
使用git预发布钩子会有帮助吗?
当前回答
我用的是husky和git-branch-is:
从哈士奇v1+开始:
// package.json
{
"husky": {
"hooks": {
"post-merge": "(git-branch-is master && npm version minor ||
(git-branch-is dev && npm --no-git-tag-version version patch)",
}
}
}
在husky V1之前:
"scripts": {
...
"postmerge": "(git-branch-is master && npm version minor ||
(git-branch-is dev && npm --no-git-tag-version version patch)",
...
},
阅读更多关于npm版本
Webpack或Vue.js
如果你正在使用webpack或Vue.js,你可以在UI中使用自动注入版本- webpack插件来显示它
NUXT
在nuxt.config.js:
var WebpackAutoInject = require('webpack-auto-inject-version');
module.exports = {
build: {
plugins: [
new WebpackAutoInject({
// options
// example:
components: {
InjectAsComment: false
},
}),
]
},
}
例如在模板的页脚中:
<p> All rights reserved © 2018 [v[AIV]{version}[/AIV]]</p>
其他回答
我用的是husky和git-branch-is:
从哈士奇v1+开始:
// package.json
{
"husky": {
"hooks": {
"post-merge": "(git-branch-is master && npm version minor ||
(git-branch-is dev && npm --no-git-tag-version version patch)",
}
}
}
在husky V1之前:
"scripts": {
...
"postmerge": "(git-branch-is master && npm version minor ||
(git-branch-is dev && npm --no-git-tag-version version patch)",
...
},
阅读更多关于npm版本
Webpack或Vue.js
如果你正在使用webpack或Vue.js,你可以在UI中使用自动注入版本- webpack插件来显示它
NUXT
在nuxt.config.js:
var WebpackAutoInject = require('webpack-auto-inject-version');
module.exports = {
build: {
plugins: [
new WebpackAutoInject({
// options
// example:
components: {
InjectAsComment: false
},
}),
]
},
}
例如在模板的页脚中:
<p> All rights reserved © 2018 [v[AIV]{version}[/AIV]]</p>
哈士奇:
{
"name": "demo-project",
"version": "0.0.3",
"husky": {
"hooks": {
"pre-commit": "npm --no-git-tag-version version patch && git add ."
}
}
}
请检查我的NodeAutoVersionPush宏脚本。 这是一个宏,使用Visual Studio Code API来自动设置新版本,然后使用键盘快捷键进行提交和推送。
新版本基于当前日期和提交总数。 但是您可以根据自己的喜好或任何其他语言轻松地调整代码。
作为npm版本的一个补充,如果你想要一个版本碰撞但没有标记或一个新的提交,你可以使用——no-git-tag-version标记:
npm --no-git-tag-version version patch
https://docs.npmjs.com/cli/version
以防万一,如果你想用npm package semver链接来做这件事
let fs = require('fs');
let semver = require('semver');
if (fs.existsSync('./package.json')) {
var package = require('./package.json');
let currentVersion = package.version;
let type = process.argv[2];
if (!['major', 'minor', 'patch'].includes(type)) {
type = 'patch';
}
let newVersion = semver.inc(package.version, type);
package.version = newVersion;
fs.writeFileSync('./package.json', JSON.stringify(package, null, 2));
console.log('Version updated', currentVersion, '=>', newVersion);
}
包中。Json应该是这样的,
{
"name": "versioning",
"version": "0.0.0",
"description": "Update version in package.json using npm script",
"main": "version.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"version": "node version.js"
},
"author": "Bhadresh Arya",
"license": "ISC",
"dependencies": {
"semver": "^7.3.2"
}
}
只需要将major, minor, patch参数传递给NPM运行版本。默认为补丁。
例子: NPM运行版本或NPM运行版本补丁或NPM运行版本小或NPM运行版本大
去回购