"npm version <major|minor|patch>" 和 "dist" 目录

"npm version <major|minor|patch>" and the "dist" directory

我正在使用 node.jsgulp 作为我的环境的基础设施。我正在使用这个环境编写一个 jQuery 插件。目录结构如下所示:

jquery-plugin
    |
    ---- dist (contains complied and minified plugin files)
    |
    ---- src (source code)
    |
    ---- gulpfile.js
    |
    ---- package.json

现在,我已经编写了我的 gulp 文件,其中包含包含 watch 任务的指令,只要发生更改,该任务就会将文件从 src 复制到 dist保存。另请注意,js 文件的 header 部分中的横幅是通过 gulp-header 设置的,其中包括从 package.json

自动提取的版本号

到目前为止一切都是正确的。

现在,假设我从版本 0.0.1 开始,然后经历一个开发周期(在我的 develop 分支中完成),最后是我的代码准备好了。我会提交 develop 分支中的所有内容,然后切换到 master,合并 develop 中的代码。现在代码已准备好发布。

我会去我的终端,运行 npm version minor。这将使版本 0.1.0 并将新版本签入 master,并添加标签 v0.1.0。问题是,srcdist 中的文件在它们的 header 中仍然有版本 0.0.1(从 previous 版本,在 运行ning 版本命令之前,因为在 运行ning 版本命令之后没有实际保存在那些文件中。

如何确保dist目录下js个文件的header部分自动更新版本?

谢谢。

在进一步调查该问题后,我执行了以下操作:

  1. 运行npm --no-git-tag-version version minor。这会改变版本,但不会签入任何文件,也不会添加标签。

  2. Touch/save src 个文件之一。这将在 dist 目录

  3. 中使用正确的版本号更新 header
  4. 在git中手动check-in,并添加格式为vMa.Mi.P的新标签(其中Mi major号,Miminor号,Ppatch号)

参考:https://docs.npmjs.com/cli/version