1. 程式人生 > >Node.js相關——package概念及NPM

Node.js相關——package概念及NPM

1. package 包

CommonJS的包規範允許我們將一組相關的模組組合到一起,形成一組完整的工具。CommonJS的包規範由 包結構 和 包描述檔案 兩個部分組成。

1.1 包結構

包實際上就是一個壓縮檔案,解壓以後還原為目錄。符合規範的目錄,應該包含如下檔案。

  • package.json   描述檔案,必需
  • bin   資料夾,記憶體放可執行二進位制檔案,一般在工具包中存在,非必需
  • lib   資料夾,記憶體放js程式碼,非必需
  • doc   資料夾,記憶體放文件,非必需
  • test  資料夾,供單元測試,非必需

1.2 包描述檔案

包描述檔案用於表達非程式碼相關的資訊,它是一個JSON格式的檔案 – package.json,位於包的根目錄下,是包的重要組成部分。

package.json 的屬性主要有:

  • name - 包名。
  • version - 包的版本號。
  • description - 包的描述。
  • homepage - 包的官網 url 。
  • author - 包的作者姓名。
  • contributors - 包的其他貢獻者姓名。
  • dependencies - 依賴包列表。如果依賴包沒有安裝,npm 會自動將依賴包安裝在 node_module 目錄下。
  • repository - 包程式碼存放的地方的型別,可以是 git 或 svn,git 可在 Github 上。
  • main - main 欄位指定了程式的主入口檔案,require('moduleName') 就會載入這個檔案。這個欄位的預設值是模組根目錄下面的 index.js。
  • keywords - 關鍵字

2. NPM(Node Package Manager)

CommonJS包規範是理論,NPM是其中一種實踐。對於Node而言,NPM幫助其完成了第三方模組的釋出、安裝和依賴等。藉助NPM,Node與第三方模組之間形成了很好的一個生態系統。

node.js安裝時會自動下載npm包,該包結構如下:

2.1 NPM常用指令

npm -v               #檢視npm的版本
npm version            #檢視所有模組的版本
npm init              #初始化專案(建立package.json)
npm i/install 包名        #安裝指定的包
npm i/install 包名 --save    #安裝指定的包並新增依賴
npm i/install 包名 -g         #全域性安裝(一般都是一些工具)
npm i/install            #安裝當前專案所依賴的包
npm s/search 包名          #搜尋包
npm r/remove 包名          #刪除一個包

2.2 NPM映象選擇

由於npm的映象源是在國外,因此安裝過程中下載可能比較慢或者下載失敗,可以寫選擇連線 淘寶NPM映象。方法如下:

2.2.1 臨時使用

npm --registry https://registry.npm.taobao.org install express

2.2.2 持久使用

npm config set registry https://registry.npm.taobao.org
npm install express

2.2.3 保留npm,通過cnpm使用

npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install express