07-nodejs中npm的使用
NPM是什麽?
簡單的說,npm就是JavaScript的包管理工具。類似Java語法中的maven,gradle,python中的pip。
安裝
傻瓜式的安裝。
第一步:打開https://nodejs.org/en/
第二步:
第三步:我們為了統一版本,雖然node.js更新到了8.11.1的版本,但對於我個人而言,還是比較喜歡6.10.*版本的。
第四步:
第五步:點點點。為了避免環境變量出現額外的問題,winodows用戶將nodejs統一安裝在c盤中,mac電腦直接安裝。
npm是和Nodejs一起並存的,只要安裝了Nodejs,npm也安裝好了,安裝好Nodejs之後。打開終端,執行如下命令,檢查是否安裝成功
但是由於npm自身的更新頻率比Node.js高很多,所以通過上面安裝的npm可能不是最新版本,可以通過下面的命令單獨更新npm。在這裏不簡易大家更新了。
針對mac電腦的用戶,如果執行
會出現如下錯誤;
解決方案:只需要
ok,到目前為止,我們的軟件都安裝好了。
既然我們知道npm它能夠管理我們的包,也就是我們所謂的模塊。
那麽,比如在之前我們使用到的jquery框架,bootstrap框架。都可以使用npm去下載了。
安裝包
我們在桌面上創建一個文件夾/01-studyNpm。
註意:千萬不要起名成:node、npm這樣的文件夾,以免與系統軟件產生不必要的沖突。
打開終端,切換到當前創建的文件夾目錄下,一定是當前目錄。
npm 初始化
在去下載包之前,首先先讓當前項目的包進行初始化操作,執行命令:
npm init
運行這個命令後,它會詢問一些關於包的基本信息,根據實際情況回答即可。如果不喜歡這種方式,可以使用npm init --yes
命令直接使用默認的配置來創建package.json
文件,最後根據需要修改創建好的package.json
文件即可。
{ "name": "01-studynpm", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" },"author": "", "license": "ISC" }
主要字段的含義如下:
-
name: 模塊名, 模塊的名稱有如下要求:
- 全部小寫
- 只能是一個詞語,沒有空格
- 允許使用破折號和下劃線作為單詞分隔符
-
version: 模塊版本信息
-
description:關於模塊功能的簡單描述,如果這個字段為空的話,默認會從當前目錄的
READMD.md
或README
文件讀取第一行內容作為它的默認值。 -
main: 模塊被引入後,首先加載的文件,默認為
index.js
。 -
scripts: 定義一些常用命令入口
關於最後一個英文的意思,我們可以證明,當我執行npm init之後,會自動的生成package.json的文件。
安裝模塊
使用npm install
會讀取package.json
文件來安裝模塊。安裝的模塊分為兩類dependencies
和devDependencies
,分別對應生產環境需要的安裝包和開發環境需要的安裝包。
同樣在安裝模塊的時候,可以通過指定參數來修改package.json文件,以jquery和webpack做例子
npm install jquery --save
npm install webpack --save-dev
來將新安裝的模塊信息記錄到package.json
文件.
我們正式操作一遍,下載jquery包
npm install jquery --save
執行以上命令,便可以安裝對應的包到執行命令的當前目錄,並創建一個node_modules
的文件夾,然後把需要安裝的安裝包下載到裏面。
打開package.json文件會發現:
下載不同版本的模塊
npm install [email protected] --save
卸載模塊
npm uninstall jquery --save
使用cnpm(淘寶鏡像)
使用npm下載依賴時,由於是從國外的網站上下載內容,所以可能經常會出現不穩定的情況,所以需要下載cnpm代替npm,cnpm是國內淘寶的做的,在國內使用穩定。
1.下載cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
2.使用cpm
cnpm install jquery --save
07-nodejs中npm的使用