在我做一个小的发布和标记它之前,我想更新这个包。Json来反映程序的新版本。

是否有编辑文件包的方法。json自动吗?

使用git预发布钩子会有帮助吗?


当前回答

提供一个最新的方法。

package.json

  "scripts": {
    "eslint": "eslint index.js",
    "pretest": "npm install",
    "test": "npm run eslint",
    "preversion": "npm run test",
    "version": "",
    "postversion": "git push && git push --tags && npm publish"
  }

然后运行它:

npm version minor --force -m "Some message to commit"

将:

... 进行测试… 更换你的包裹。Json到下一个小版本(例如:1.8.1到1.9.0) 推动您的更改 创建一个新的git标签版本和 发布你的NPM包。

——武力就是要显示谁是老大!撇开笑话不谈,见https://github.com/npm/npm/issues/8620

其他回答

提供一个最新的方法。

package.json

  "scripts": {
    "eslint": "eslint index.js",
    "pretest": "npm install",
    "test": "npm run eslint",
    "preversion": "npm run test",
    "version": "",
    "postversion": "git push && git push --tags && npm publish"
  }

然后运行它:

npm version minor --force -m "Some message to commit"

将:

... 进行测试… 更换你的包裹。Json到下一个小版本(例如:1.8.1到1.9.0) 推动您的更改 创建一个新的git标签版本和 发布你的NPM包。

——武力就是要显示谁是老大!撇开笑话不谈,见https://github.com/npm/npm/issues/8620

NPM版本可能是正确的答案。为了给大家一个替代的选择,我建议你用咕噜撞。它是由angular.js的一个人维护的。

用法:

grunt bump
>> Version bumped to 0.0.2

grunt bump:patch
>> Version bumped to 0.0.3

grunt bump:minor
>> Version bumped to 0.1.0

grunt bump
>> Version bumped to 0.1.1

grunt bump:major
>> Version bumped to 1.0.0

如果你使用grunt,这可能是最简单的解决方案。

这是我通常对我的项目所做的:

npm version patch
git add *;
git commit -m "Commit message"
git push
npm publish

第一行,npm version patch,会将package.json中的补丁版本增加1 (x.x.1到x.x.2)。然后添加所有文件——包括package。Json,此时已被修改。 然后,通常的git commit和git push,最后是npm publish来发布模块。

我希望这是有意义的…

芝加哥商业交易所。

我用的是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>

我想澄清一下这个问题的答案。

尽管这里有一些答案可以正确地解决问题并提供解决方案,但它们并不是正确的答案。这个问题的正确答案是使用npm版本

是否有编辑文件包的方法。json自动吗?

是的,你能做的就是在需要的时候运行npm version命令,你可以在这里阅读更多关于它的信息,但基本用法是npm version patch,它会在你的包上添加第三位数字。json版本(1.0.X)

使用git预发布钩子会有帮助吗?

你可以根据需要配置在预发布钩子上运行npm version命令,但这取决于你在CD/CI管道中是否需要它,但如果没有npm version命令,git预发布钩子无法“轻松”地使用package.json

npm版本是正确答案的原因如下:

如果用户正在使用包含包的文件夹结构。如果他在使用NPM,他就可以访问NPM脚本。 如果他能访问npm脚本,他就能访问npm版本命令。 使用这个命令,他不需要在他的计算机或CD/CI管道中安装更多的东西,从长远来看,这将减少项目的可维护性工作,并将有助于设置

提出其他工具的其他答案是不正确的。

Gulp-bump有效,但需要另一个额外的包,从长期来看可能会产生问题(我的答案的第3点)

Grunt-bump有效,但需要另一个额外的包,这可能会在长期产生问题(我的回答的第3点)