1. 程式人生 > >Node.js模組與npm item2—NPM使用

Node.js模組與npm item2—NPM使用

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  #刪除指定的模組