npm模块管理-区分测试包和稳定包

最近项目模块迁移到npm上进行管理,由于npm仓库是线上线下公用的,因此模块中新开发的功能怎么进行测试?若是直接npm publish,会致使影响线上环境,然而测试代码影响线上代码是咱们最不想看到的。通过一番调查,发现npm官方已经考虑到你们的这种状况了,能够经过npm中的tag对这些包进行管理。npm

开始以前,简单介绍一下tag版本号的区别:bash

  • 版本号:咱们经常使用的版本号命名方式为1.1.1,即Semver规范:semver.org/,不一样位置的数字表明不一样版本,可是这样就须要人工记忆哪一个版本是测试的,哪一个版本是线上的,很容易出错
  • dist-tag:不一样于上面的版本号,dist-tag(Distribution tags) 提供了一个可读性更高的分发标签。例如将包分发为devbugfix等,而后下载时指定tag便可,如:npm install my-package@dev

如何使用dist-tag?

官方文档:docs.npmjs.com/cli/dist-ta…测试

npm dist-tag add <pkg>@<version> [<tag>]  # 为已发布的某个版本号添加分发tag
npm dist-tag rm <pkg> <tag> # 删除某个版本的tag
npm dist-tag ls <pkg> # 显示pkg的全部tag
复制代码

在发布的时候可使用npm publish --tag <tag>spa

在测试环境安装的时候就能够指定tag安装,如 npm install my-package@devcode

等测试经过以后,将版本号的tag改成latest开发

相关文章
相关标签/搜索