我使用
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
文件标题部分的横幅是通过gulp-header
设置的,其中包括从package.json
自动提取的版本号
到目前为止一切都是正确的。
现在,假设我从版本0.0.1开始,并经历一个开发周期(在我的
develop
分支中完成),那么最终我的代码准备就绪。我会在我的 develop
分支中提交所有内容,然后切换到 master
,合并 develop
中的代码。现在代码已准备好发布。
我会转到我的终端,然后运行
npm version minor
。这将使版本 0.1.0 并将新版本签入到 master
,并添加标签 v0.1.0。问题是,src
和dist
中的文件在其标头中仍然具有版本0.0.1(在运行版本命令之前从上一个版本中提取,因为没有实际保存在这些文件中)运行版本命令后已完成)。
如何确保
js
目录中 dist
文件的标头部分中的版本自动更新?
谢谢。
进一步调查该问题后,我执行了以下操作:
运行
npm --no-git-tag-version version minor
。这会提高版本,但不会签入任何文件,也不会添加标签。
触摸/保存
src
文件之一。这将在 dist
目录中使用正确的版本号更新标头
在 git 中手动签入,并以
vMa.Mi.P
格式添加新标签(其中 Ma
是 major 编号,Mi
是 minor 编号,P
是 补丁) 数量)