您可以發布包含package.json
文件的任何目錄。這里如何首次發布程序包以及如何在以后更新程序包。
如何發布包
制備
了解npm政策
在開始之前,如果您對網站禮儀,命名,許可或其他指南有疑問,最好查看npm的政策。
創建用戶帳戶
要發布,您必須是npm注冊表中的用戶。如果您不是用戶,請使用 npm adduser
創建帳戶。如果您在網站(https://www.npmjs.com/)上創建了用戶帳戶,請使用npm login
從終端訪問您的帳戶。
**下圖顯示已登錄成功到npm**
測試:
- 鍵入
npm whoami
從終端看,如果你已經登錄(從技術上講,這也意味着你的證書已經存儲在本地)。 - 檢查您的用戶名是否已添加到注冊表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網站上。
在開始之前,請查看一些軟件包頁面,以獲取可以添加到自述文件中的信息的想法,並了解為什么這么重要。
- 使用任何文本編輯器創建文件。
- 將其保存在項目目錄中,名稱為readme.md
- 發布時,此文檔將顯示在人們下載程序包的網頁上。
可以先在有道雲筆記上新建一個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 patch
並npm publish
更新網站上顯示的文檔。