npm(Node Package Manager),一個Node的包管理器,平時我們常用的公共模塊(插件)或者叫做包大多都放在上面,所以接下來要封裝的插件,我們就簡單稱它為npm包,本文從就從這個簡單的例子開始,逐步對它進行封裝-發布-更新-擴展-使用,進而到得一個相對完整的npm包,下面開始,
npm發布包步驟:
1.注冊npm賬號,記好賬戶名、密碼和郵箱(郵箱收到郵件后一定要進行驗證,否則會報錯)
2.npm添加用戶或登陸:npm login

# 注意 Password默認不會顯示,注意輸入正確,
3.更改npm源
平時我們可能用的是淘寶的鏡像路徑,畢竟國外npm的速度令人感動,而淘寶的鏡像只有下載功能,不支持上傳npm包,所以先把npm源改回來,等到發布成功后再改回來,更改命令如下:
nrm use npm //切換為npm
nrm use taobao //切換為淘寶
前提是安裝好nrm,否則需要執行以下命令:
npm install -g cnpm --registry=https://registry.npm.taobao.org
安裝nrm: nrm安裝與配置_Anway12138的博客-CSDN博客_安裝nrm
4.制作自己的npm包
- 在目錄下新建一個npm包的檔案夾,盡量取得特殊一點,不然很容易很已有的沖突
-
初始化專案
在專案根目錄下使用一下命令
npm init這時終端會提示你輸入諸如包名,版本號等資訊,如下:
當然,你可以一路回車下來,或者你使用
npm init -y就可以生成默認的package.json檔案,效果都是一樣的,然后我們得到以下檔案,簡單說明一下:// package.json { "name": "toupper-case-project", // 包名稱,默認和你檔案夾同名,可改,但是需要去npm官網搜素這個名稱是否已存在,因為包名不能重復 "version": "1.0.0", // 專案默認版本號,可改,如果專案后期更新再發布,則需要修改版本號 "description": "", // 專案描述,選填,可利于SEO "main": "index.js", // 你的包的主要入口路徑,就是別人安裝了你的包后系統會去這個路徑找你的代碼 "scripts": { // 腳本命令,后面會講到,現在使用默認的就行 "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", // 作者,選填 "license": "ISC" // 許可證,默認即可 } - 撰寫主檔案:index.js(npm init默認的入口檔案是index.js,這可以自己定義)
5.發布npm包:npm publish
在專案根目錄下運行npm publish即可發布,順利的話就直接成功了,當然也可能會遇到問題:
-
第一個就是權限問題,也許報這樣的錯誤
npm ERR! Error: EPERM: operation not permitted,這時候就得使用管路員權限來進行發布了,window + x會看到管理員終端選項,打開這個終端,然后再進行登錄,發布即可, -
第二個就是名稱問題,就是你的包名在npm上已經存在了,所以在
package.json中將你的包名改成其他的,這樣再發布,應該就沒問題了,
發布成功后顯示如下:
登陸我們的npm,也可以看到我們發布的包
到這里,我們發布的第一個npm包就成功了!
6.更新包
在我們更新包的功能后,需要重新上傳更新,
把package.json中的版本號進行更改,正常來說加1即可,
將"version": "1.0.0"改為"version": "1.0.1"
再運行npm publish就可以直接把新的包覆寫上去,
7.洗掉已發布的包
-
運行
npm unpublish 包名 --force命令,即可從npm洗掉已發布的包 -
注意事項
-
npm unpublish命令只能洗掉 72 小時以內發布的包 -
npm unpublish洗掉的包,在 24 小時內不允許重復發布 -
發布包的時候要慎重,盡量不要往
npm上發布沒有意義的包!
-
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/306258.html
標籤:其他
上一篇:node 模塊化的概念
下一篇:手把手教你發個Node.js包
