如何發布自己的NPM套件
發布 npm 套件的紀錄
如何開始
版控
初始化一個 Git 版控倉庫
1 | git init |
建立版控忽略清單
此處透過VSCode
套件.gitignore generator產生,僅需要透過選取即可自動產生相關的清單
建立 package.json 設定檔
透過預設值建立指令檔,之後再用編輯軟體開啟檔案修改
1 | npm init -y |
關於發布比較重要的幾個設定,例如:
- 程式進入點(main),在這邊的程式定義了一開始你套件從哪一隻程式開始
- 版本(version),每一次發布的版本都需要更新
- 版控(repository),如果有填寫的話會在 NPM 套件資訊頁面顯示
如何撰寫套件
透過 module.exports 匯出
利用 require 載入
1 | // foo.js |
記得模組匯出物件時,因為是傳參考,所以需要先複製物件輸出
如何發布套件
發布到 NPM 的話會需要一個帳號,所以還沒有申請的話是無法發布的,申請完畢後只要在指令列打上
1 | npm adduser |
依照提示輸入帳號、密碼及相關資訊,就會在你的帳號底下新增一組 token,而這個 token 就會在你的電腦中,等到下次要發布就不需要再輸入帳密,在這邊假設已經開發完畢了一個套件,需要發佈到 NPM 其實也很簡單
1 | 在package.json目錄下輸入 |
程式就會自動替你將套件發布上去 NPM 了,稍後就可以在 NPM 個人帳號的 package 找到
如何架設私有 registry
1 | docker pull verdaccio/verdaccio |
替換 registry 後,若日常 npm 使用有問題,建議還是透過 npm config edit
指令重設 registry
1 | registry=https://registry.npmjs.org/ |
如何更新套件
更新package.json
的 version 版本號碼
你可以透過手動變更package.json
,也可以透過npm version <update_Type>
的指令
重新執行npm publish
如何使用套件
當套件已經發布上去之後,別的專案要使用可以直接透過下面的指令就可以自動下載套件了
1 | npm install <PACKAGE_NAME> |
如何取消發布
如果需要撤銷發布,只要輸入下列指令即可,但是請確保是在發布後 72 小時之內做這件事情
1 | npm unpublish <PACKAGE_NAME> --force |
因為套件發布之後,可能會有人下載使用,如果有其他人依賴你的套件,就會有問題,因此官方對於撤銷發布是不建議的,也因此有很多限制
關於官方對此的政策,可參考npm Unpublish Policy