記一次發布/更新npm包的過程及包版本管理


您可以發布包含package.json文件的任何目錄。這里如何首次發布程序包以及如何在以后更新程序包。

如何發布包

制備

了解npm政策

在開始之前,如果您對網站禮儀,命名,許可或其他指南有疑問,最好查看npm的政策。

創建用戶帳戶

要發布,您必須是npm注冊表中的用戶。如果您不是用戶,請使用 npm adduser 創建帳戶。如果您在網站(https://www.npmjs.com/)上創建了用戶帳戶,請使用npm login從終端訪問您的帳戶。

 

 

 

 **下圖顯示已登錄成功到npm**

 

測試:

  1. 鍵入npm whoami從終端看,如果你已經登錄(從技術上講,這也意味着你的證書已經存儲在本地)。

     

     

  2. 檢查您的用戶名是否已添加到注冊表https://npmjs.com/~username。(username為賬戶名),例如:

 

新建項目文件夾並在當前文件夾打開cmd命令,接着輸入npm init創建package.json

查看包目錄

此時文件夾中會生成一個package.json文件

查看內容

請注意,除非本地.gitignore.npmignore文件忽略該目錄,否則將包含目錄中的所有內容。要了解如何使用這些命令,請參閱npm-developers

查看package.json文件

 

 

閱讀使用package.json以確保所需的詳細信息反映在您的包中。

選擇一個名字

為您的包選擇一個唯一的名稱。嘗試選擇一個描述性名稱:

  • 還沒有其他人擁有
  • 除了拼寫錯誤之外,拼寫不會像其他名字一樣拼寫
  • 不會混淆他人的作者身份
  • 符合npm政策指南。例如,不要將您的包命名為冒犯性的,也不要使用其他人的商標名稱。
  • 在package.json文件的相應行中指定名稱。

注意:如果您使用范圍,則前3個警告不適用。

包含文檔(readme.md)

npm建議您包含一個自述文件來記錄您的包。自述文件必須具有文件名readme.md。文件擴展名.md表示該文件是markdown文件。當有人找到您的包裹時,此文件將顯示在npm網站上。

在開始之前,請查看一些軟件包頁面,以獲取可以添加到自述文件中的信息的想法,並了解為什么這么重要。

  1. 使用任何文本編輯器創建文件。
  2. 將其保存在項目目錄中,名稱為readme.md
  3. 發布時,此文檔將顯示在人們下載程序包的網頁上。

可以先在有道雲筆記上新建一個Markdown文件,編輯完成后再復制到包中替換Readme.md文件

有道雲筆記Markdown文件編輯指南:http://note.youdao.com/iyoudao/?p=2411&vendor=unsilent14

 

 

在npm官網上顯示readme.md文件如下:

 

 

 

登錄npm賬號並使用npm publish發布包。

輸入npm login;登陸自己的賬號,密碼,郵箱

 

 

 

測試

https://npmjs.com/package/<package>。你應該看到一個關於你的新包的頁面。它可能看起來像這樣:

恭喜!

如何更新包

如何更新版本號

進行更改時,可以使用更新包

npm version <update_type>

其中<update_type>是語義版本控制版本之一,補丁,次要或主要版本。

此命令將自動更改版本號package.json中的version字段值。

此處延伸一下版本號管理的內容:

版本號
語義化版本:https://semver.org/lang/zh-CN/
版本號格式:主版本號.次版本號.修訂號
版本號遞增規則:
- 主版本號:做了不兼容修改或顛覆式的重寫
- 次版本號:向下兼容的功能性新增
- 修訂號:向下兼容的問題修正
先行版本號及版本編譯信息可以加到“主版本號.次版本號.修訂號”的后面,作為延伸。

版本號只能增加,禁止下降,代碼的修改必須以新版本形式更新;最初版本建議是從v0.1.0開始,0.x.y階段是基礎功能、公眾API開發階段。

1.0.0版本發布時機:
- 被用於正式環境
- 穩定的API被使用者依賴
- 很擔心向下兼容的問題

萬一不小心把一個不兼容的改版當成了次版本號發行了該怎么辦?一旦發現自己破壞了語義化版本控制的規范,就要修正這個問題,並發行一個新的次版本號來更正這個問題並且恢復向下兼容。即使是這種情況,也不能去修改已發行的版本。

npm管理項目版本號
在命令行窗口輸入npm version ?可以查看可以使用的命令:
執行命令及版本提升示例:

假設初始版本為0.1.0
➜  xxx git:(master) npm version preminor
v0.1.0-0
➜  xxx git:(master) npm version minor
v0.1.0
➜  xxx git:(master) npm version prepatch
v0.1.1-0
➜  xxx git:(master) npm version patch   
v0.1.1
➜  xxx git:(master) npm version prerelease
v0.1.2-0
➜  xxx git:(master) npm version premajor
v1.0.0-0
➜  xxx git:(master) npm version major   
v1.0.0

如果使用git進行項目管理,在進行版本提升前,需要將修改內容提交,即commit,然后再執行npm version xxx進行版本提升,版本提升會自動被提交到當前分支中,可以通過git log進行查看。  

 

注意:如果您已將一個標簽與您的npm帳戶相關聯,那么這也會將更新后的版本號添加到您的git存儲庫中。

更新版本號后,npm publish再次運行。

測試:轉到https://npmjs.com/package/<package>。包裹號碼應該更新。

如何更新自述文件

除非發布新版本的軟件包,否則不會更新網站上顯示的自述文件,因此您需要運行npm version patchnpm publish更新網站上顯示的文檔。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM