"npm version <major|minor|patch>" 和 "dist" 目录
"npm version <major|minor|patch>" and the "dist" directory
我正在使用 node.js
和 gulp
作为我的环境的基础设施。我正在使用这个环境编写一个 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。问题是,src
和 dist
中的文件在它们的 header 中仍然有版本 0.0.1(从 previous 版本,在 运行ning 版本命令之前,因为在 运行ning 版本命令之后没有实际保存在那些文件中。
如何确保dist
目录下js
个文件的header部分自动更新版本?
谢谢。
在进一步调查该问题后,我执行了以下操作:
运行npm --no-git-tag-version version minor
。这会改变版本,但不会签入任何文件,也不会添加标签。
Touch/save src
个文件之一。这将在 dist
目录
中使用正确的版本号更新 header
在git中手动check-in,并添加格式为vMa.Mi.P
的新标签(其中Mi
是 major号,Mi
是minor号,P
是patch号)
我正在使用 node.js
和 gulp
作为我的环境的基础设施。我正在使用这个环境编写一个 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。问题是,src
和 dist
中的文件在它们的 header 中仍然有版本 0.0.1(从 previous 版本,在 运行ning 版本命令之前,因为在 运行ning 版本命令之后没有实际保存在那些文件中。
如何确保dist
目录下js
个文件的header部分自动更新版本?
谢谢。
在进一步调查该问题后,我执行了以下操作:
运行
npm --no-git-tag-version version minor
。这会改变版本,但不会签入任何文件,也不会添加标签。Touch/save
src
个文件之一。这将在dist
目录 中使用正确的版本号更新 header
在git中手动check-in,并添加格式为
vMa.Mi.P
的新标签(其中Mi
是 major号,Mi
是minor号,P
是patch号)