1. 包
Nodejs 中除了它自己提供的核心模塊外,我們可以自定義模塊,也可以使用第三方的模塊。Nodejs 中第三方模塊由包組成,可以通過包來對一組具有相互依賴關系的模塊進行統一管理。
在 NodeJs 中通過 NPM 命令來下載第三方的模塊(包)。
2. NPM 介紹
npm 是世界上最大的開放源代碼的生態系統。我們可以通過 npm 下載各種各樣的包,這些源代碼(包)我們可以在 https://www.npmjs.com 找到。
例如我們想導入一個格式化時間的包: silly-datetime
點擊搜索之后我們可以看到下面的頁面:
點擊第一個我們想要下載的包進入下面的頁面:
注意,上述安裝命令要在我們項目目錄下進行:
npm 是隨同 NodeJS 一起安裝的包管理工具,能解決 NodeJS 代碼部署上的很多問題,
常見的使用場景有以下幾種:
允許用戶從 NPM 服務器下載別人編寫的第三方包到本地使用。(silly-datetime)
允許用戶從 NPM 服務器下載並安裝別人編寫的命令行程序(工具)到本地使用。
(supervisor)
允許用戶將自己編寫的包或命令行程序上傳到 NPM 服務器供別人使用。
三、NPM 命令詳解。
1.npm -v查看npm版本
2. 使用 npm 命令安裝模塊
npm install Module Name
如安裝 jq 模塊:
npm install jquery
3. npm uninstall moudleName 卸載模塊
npm uninstall ModuleName
4. npm list 查看當前目錄下已安裝的 node 包
npm list
5. 查看模塊的版本例如查看 jquery 的版本
//npm info 模塊
npm info jquery
6. 指定版本安裝
npm install jquery@1.8.0
三、package.json
隨着項目地開發,我們可能會用到很多很多第三方包,這些包文件會很多,將來我們如果需要拷貝項目到其他機器,或者發送項目給其他人,我們一般不會把node_modules文件夾以及里面的包一起拷貝發送的,那怎么辦呢?別人怎么獲取包呢?這個時候我們可以使用package.json文件記錄下我們項目引入的第三方包的各種信息,例如,包名,版本等等,我們拷貝項目的時候只需要連帶把package.json一起拷貝過去即可,此時在其他機器上直接執行npm相關命令:npm install即可根據package.json里面的配置下載對應的第三方包。package.json 定義了這個項目所需要的各種模塊,以及項目的配置信息(比如名稱、版本、許可證等元數據)
1、創建 package.json :
cd到項目文件路徑下執行下面的命令之一:
npm init –-yes//強制創建(packet.json里面的name屬性值默認使用項目名)
npm init//自定義創建
注意 npm init --yes命令一定要確保項目名規范,沒有空格中文,否則會提示項目名不合法:
合法的情況下如下:
項目中會生成一個名字為package的json文件:
npm init自定義創建:
最后項目里面也會創建出package.json文件,並且默認會把node_modules文件夾下面的所有的包的依賴寫入pack.json文件
項目中有了packet.json文件之后我們今后安裝第三方包的時候一定在安裝命令后面加--save,這樣安裝第三方包就會自動添加該包的依賴進入package.json文件了:
npm install 模塊 --save
有了packet.json文件之后,在其他機器上只需要執行npm install命令即可自動下載所有的第三方jar包
npm install 模塊 --save和npm install 模塊 --save-dev:
兩種命令寫入的依賴不一樣:
使用 npm install node_module –save 自動更新 dependencies 字段值;
使用 npm install node_module –save-dev 自動更新 devDependencies 字段值;
dependencie 配置當前程序所依賴的其他包。
devDependencie 配置當前程序所依賴的其他包,只會下載模塊,而不下載這些模塊的
測試和文檔框架
dependencies補充:
"dependencies": {
"ejs": "^2.3.4",
"express": "^4.13.3",
"formidable": "^1.0.17"
}
^表示第一位版本號不變,后面兩位取最新的
~表示前兩位不變,最后一個取最新
*表示全部取最新
上面的設置決定將來使用npm install命令的時候如何更新我們原有的第三方包
四、安裝淘寶鏡像
有些時候我們網絡不好很難從npm官網下載第三方包,於是就產生了淘寶鏡像(國內的npm包下載地址)
http://www.npmjs.org npm 包官網
https://npm.taobao.org/ 淘寶 npm 鏡像官網
淘寶 NPM 鏡像是一個完整 npmjs.org 鏡像,你可以用此代替官方版本(只讀),同步頻
率目前為 10 分鍾 一次以保證盡量與官方服務同步。
使用淘寶鏡像需要先使用npm安裝cnpm(淘寶鏡像),安裝步驟如下:
直接去淘寶鏡像官網復制下面的代碼在cmd窗口執行即可:
安裝淘寶鏡像之后我們今后就可以使用cnpm install代替npm install命令了: