简介
Versioneer 是一个可以帮助自动化维护项目版本号的工具,它支持 Python 和 JavaScript。在前端项目中,我们经常需要手动去维护版本号,而 versioneer 可以帮助我们自动完成这项工作,使得我们能够更加专注于开发与设计。
安装
在命令行中使用以下命令进行安装:
--- ------- ---------- ----------
配置
- 在 package.json 文件中添加以下配置:
- ---------- -------- ---------- - ---------- ------------ - -
其中,version 是你的项目版本号,versioneer 是 versioneer 命令的别名。
- 在你的项目根目录下添加 versioneer.js 文件,并填写以下配置:
----- - ---------- - - ---------------------- ------------ ------------- - ---------------- - ---
在 packageFiles 中填写你的项目的 package.json 文件路径。
命令
Versioneer 提供以下命令:
versioneer
自动更新版本号并生成 CHANGELOG.md 文件。
--- --- -------
使用此命令会自动更新 package.json 的版本号,并生成 CHANGELOG.md 文件,内容如下:
-- ------------ --- ----- - -------- -- ------- - ---------- - ------- -------
其中,[Unreleased] 标记表示未发布的变更,后续再次运行 npm run version 命令时,这些未发布的变更会被移入对应版本号的变更列表中。
versioneer:increment
手动递增版本号。
--- --- -------------------- -------------------
使用此命令可以手动递增版本号,包括主版本号、次版本号和修订版本号。
示例
假设你的项目是一个轮播图组件库,你可以按照以下方式来配置和使用 versioneer。
package.json
- ------- ------------- ---------- -------- --------- ----- ------ -------------- -- ------ ----- ---- ------------ --------------- --- ------------------ - ------------- -------- -- ---------- - ---------- ------------ - -
versioneer.js
----- - ---------- - - ---------------------- ------------ ------------- - ---------------- - ---
使用
第一次运行 npm run version 命令时,会生成初始版本号的 CHANGELOG.md 文件:
-- ------- - ---------- - ------- -------
此时,你可以在代码中使用以下方式来读取版本号:
------ - ------- - ---- ---------------- ------------------- ------------
当你完成了一个新特性的开发时,可以添加一个标记并运行 npm run versioneer 命令来自动更新版本号和 CHANGELOG.md 文件:
--- --- - --- ------ -- ------ -- -------- --- --- --- ------- --- ----
此时,CHANGELOG.md 文件会被更新:
-- ------------ --- ----- - -------- -- ------- - ---------- - ------- -------
再次运行 npm run versioneer 命令时,CHANGELOG.md 文件的内容变为:
-- ------- - ---------- --- ----- - -------- -- ------- - ---------- - ------- -------
你可以根据实际情况,将这个版本号同步到你的代码仓库中。
结语
通过使用 versioneer 工具,我们可以自动化维护前端项目的版本号和变更日志,从而更加专注于开发和设计。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600552e681e8991b448d04e1