npm註冊
[npm網站地址](https://www.npmjs.com/)
[npm網站註冊地址](https://www.npmjs.com/signup)
複製程式碼
npm登入
npm login
userdeMacBook-Pro-2:bag-first user$ npm login
Username: lixiaohong9091
Password:
Email: (this IS public) 1534054864@qq.com
Logged in as lixiaohong9091 on https://registry.npmjs.org/.
複製程式碼
驗證是否登入 npm who am i
userdeMacBook-Pro-2:bag-first user$ npm who am i
lixiaohong9091
userdeMacBook-Pro-2:bag-first user$
複製程式碼
顯示自己的npm賬號標示已登入
建立npm包
mkdir bag-first
cd bag-first
npm init生成npm工程和package.json檔案,在package.json檔案中填入相應內容
![undefined](https://intranetproxy.alipay.com/skylark/lark/0/2019/png/80892/1562815984718-57718e38-8584-422a-93b4-93beb2f540bc.png)
複製程式碼
- 同級目錄下新建index.js並編寫內容
exports.sayHello=function(name){
    console.log('i am is'+ name)
};
複製程式碼
這樣一個簡單的npm包完成
釋出npm包
npm publish (npm包名必須是唯一的,不能與已有npm包重名)
顯示如下圖證明發布成功驗證npm包是否釋出成功
新建一個新工程
npm install '包'
![undefined](https://intranetproxy.alipay.com/skylark/lark/0/2019/png/80892/1562816584533-49349afe-31ed-410d-9bce-9704b24877eb.png)
證明發布成功
複製程式碼
var firstB = require('bag-first');
firstB.sayHello('lixiaohong');
複製程式碼
在新工程中使用
npm包本地除錯
cd ~/projects/node-bloggy # go into the dir of your main project
npm link ../node-redis # link the dir of your dependency
複製程式碼
npm link 不會再專案的package.json 中新增dependencies依賴
npm包更新
npm version <update_type> -m "<message>"
複製程式碼
其中update_type 有三種:
patch增加一位補丁號(比如 1.1.1 -> 1.1.2)
minor增加一位小版本號(比如 1.1.1 -> 1.2.0)
major增加一位大版本號(比如 1.1.1 -> 2.0.0)
比如:
npm version patch -m "Version %s - v1.0.2"
最後提交更新的版本
npm publish
複製程式碼
捨棄某個版本的模組
npm deprecate my-thing@"< 1.0.2" "critical bug fixed in v1.0.2"
複製程式碼
撤銷自己釋出的版本。這只是一個測試的包,最好當然還是撤銷下來
24小時內可刪除
npm --force unpublish zgb_npm
複製程式碼
npm包下載
npm install moduleName # 安裝模組到專案目錄下
npm install -g moduleName # -g 的意思是將模組安裝到全域性,具體安裝到磁碟哪個位置,要看 npm config prefix 的位置。
npm install -save moduleName # -save 的意思是將模組安裝到專案目錄下,並在package檔案的dependencies節點寫入依賴,生產環境使用(如依賴元件)。
npm install -save-dev moduleName # -save-dev 的意思是將模組安裝到專案目錄下,並在package檔案的devDependencies節點寫入依賴,開發環境使用(如打包工具webpack,生產環境就不需要了)。
複製程式碼