Node.js相關——package概念及NPM
阿新 • • 發佈:2018-11-06
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