Node.js模組與npm item2—NPM使用
阿新 • • 發佈:2018-11-15
NPM使用
Node Packaged Modules 簡稱NPM,是Node.js的包管理器。Node本身提供了一些基本API模組,但是這些基本模組難以滿足開發者需求。Node需要通過使用NPM來管理開發者自我研發的一些模組,並使其能夠共用與其他開發者。簡單來說,NPM就是Node.js的包管理器。
NPM(node package manager)
NPM使用場景
NPM是隨同NodeJS一起安裝的包管理工具,能解決NodeJS程式碼部署上的很多問題,常見的使用場景有以下幾種:
- 允許使用者從NPM伺服器下載別人編寫的第三方包到本地使用。
- 允許使用者從NPM伺服器下載並安裝別人編寫的命令列程式到本地使用。
- 允許使用者將自己編寫的包或命令列程式上傳到NPM伺服器供別人使用。
由於新版的nodejs已經集成了npm,所以之前npm也一併安裝好了。同樣可以通過輸入 npm -v來測試是否成功安裝。命令如下,出現版本提示表示安裝成功:
$ npm -version
2.15.8
升級更新NPM
$ sudo npm install npm -g
使用NPM安裝模組
有一個簡單安裝任何Node.js模組,語法如下:
$ npm install <Module Name>
例如,下面是安裝一個著名的Node.jsweb框架模組的命令叫 express:
$ npm install express
現在,你可以在js檔案中使用此模組如下:
var express = require('express');
全域性安裝VS本地安裝
- 本地安裝 預設情況下,NPM安裝指定包預設會安裝到本地。本地安裝指的是包安裝在當前目錄中node_modules資料夾中。本地安裝的包都可以通過require()方法進行訪問。例如我們安裝Express模組:
$ npm install express
列出所有本地安裝的模組
$ npm ls
- 全域性安裝 全域性安裝包都儲存在系統目錄中。我們可以在nodejs的CLI(命令列介面)使用,但是不能直接使用require()方法進行訪問。例如安裝http-server包:
//全域性安裝 -g
$ npm install -g http-server
//使用node CLI
$ http-server
解除安裝模組
使用下面的命令解除安裝Node.js模組
npm uninstall express
更新模組
更加package.json並更新
npm update express
搜尋模組
搜尋使用NPM包名
npm search express
下載三方包
NPM建立了一個NodeJS生態圈,NodeJS開發者和使用者可以在裡邊互通有無。
當你需要下載第三方包時,首先要知道有哪些包可用。npmjs.com提供了可以根據包名來搜尋的平臺,但是如果不知道包名可以百度一下。知道了包名後,就可以使用命令去安裝了,例如:Express
npm install express
下載完成之後,express包就放在了工程目錄下的node_modules目錄中,在程式碼中只需要通過reuqire(‘express’)的方式去引用,無需指定包路徑。
以上命令預設下載最新版本第三方包,如果要下載指定版本,可以在包名後面追加@,例如通過如下命令可以下載0.0.1版本的express。
npm install express@0.0.1
如果使用到的第三方包比較多,在終端下一個包一條命令的安裝非常不方便,因此NPM對package.json的欄位做了擴充套件,允許在其中新增三方包依賴。
{
"name":"test",
"main":"./lib/main.js",
"dependencies":{
"http-server":"3.2.1"
}
}
這樣處理後,在工程目錄下就可以使用npm install命令批量安裝三包了。最重要的是,當以後吧test專案上傳到了NPM伺服器,別人下載這個包時,NPM會根據包中宣告的三方依賴包進行自動下載依賴。這樣使用者只需要關心要使用的包,不用管其依賴的三方包。
給NPM伺服器釋出自己的包
第一次使用NPM釋出自己的包需要在npmjs.com註冊一個賬號
幾個npm的常用命令
npm -v #顯示版本,檢查npm 是否正確安裝。
npm install express #安裝express模組
npm install -g express #全域性安裝express模組
npm list #列出已安裝模組
npm show express #顯示模組詳情
npm update #升級當前目錄下的專案的所有模組
npm update express #升級當前目錄下的專案的指定模組
npm update -g express #升級全域性安裝的express模組
npm uninstall express #刪除指定的模組