最近項目模塊遷移到npm上進行管理,由於npm倉庫是線上線下公用的,因此模塊中新開發的功能怎麼進行測試?若是直接npm publish
,會致使影響線上環境,然而測試代碼影響線上代碼是咱們最不想看到的。通過一番調查,發現npm官方已經考慮到你們的這種狀況了,能夠經過npm中的tag
對這些包進行管理。npm
開始以前,簡單介紹一下tag
和 版本號
的區別:bash
版本號
:咱們經常使用的版本號命名方式爲1.1.1
,即Semver規範
:semver.org/,不一樣位置的數字表明不一樣版本,可是這樣就須要人工記憶哪一個版本是測試的,哪一個版本是線上的,很容易出錯dist-tag
:不一樣於上面的版本號,dist-tag(Distribution tags) 提供了一個可讀性更高的分發標籤。例如將包分發爲dev
、bugfix
等,而後下載時指定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@dev
code
等測試經過以後,將版本號的tag改成latest開發