一、什麼是Node.js和npm?¶
在開始使用npm之前,我們先簡單瞭解它的“身份”:
- Node.js:是一個基於Chrome V8引擎的JavaScript運行環境,讓JavaScript可以脫離瀏覽器在服務器端運行。它讓前端開發者也能寫後端代碼,實現全棧開發。
- npm:全稱Node Package Manager,是Node.js的默認包管理工具,相當於Node.js的“應用商店”。通過npm,你可以快速下載、安裝、管理別人寫好的JavaScript代碼包(比如框架、工具庫等),避免重複造輪子。
二、安裝Node.js和npm¶
要使用npm,首先得安裝Node.js(npm會隨Node.js一起安裝)。以下是不同系統的安裝方法:
1. Windows系統¶
- 官網下載:訪問 Node.js官網,點擊“Download”下載對應系統版本(推薦LTS穩定版)。
- 安裝時勾選“Add to PATH”(自動配置環境變量),一路下一步即可。
- 驗證:打開命令提示符(CMD)或PowerShell,輸入
node -v和npm -v,如果顯示版本號(如v18.16.0),說明安裝成功。
2. Mac系統¶
- 方法1(推薦):用Homebrew安裝。先安裝Homebrew(如果沒裝過):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
然後執行 brew install node。
- 方法2:官網下載安裝包,步驟同Windows。
- 驗證:打開終端,輸入 node -v 和 npm -v。
3. Linux系統(以Ubuntu爲例)¶
- 打開終端,執行:
sudo apt update
sudo apt install nodejs npm
- 驗證同上。
三、npm的核心功能:初始化項目¶
在開始使用npm管理依賴前,需要先初始化一個項目,生成 package.json 文件(項目配置文件,記錄項目信息和依賴)。
步驟:
1. 新建一個文件夾(如 my-project),打開終端進入該目錄。
2. 執行 npm init,按提示填寫項目名稱、版本、描述等信息(也可直接用 npm init -y 快速生成默認配置)。
3. 生成的 package.json 會包含項目基本信息,例如:
{
"name": "my-project",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
其中 scripts 是關鍵,後續可定義項目啓動命令(如 npm start)。
四、安裝依賴:npm install¶
npm最常用的功能是安裝第三方包。基本語法:
npm install <包名>
1. 本地安裝 vs 全局安裝¶
- 本地安裝(默認):包會被安裝到項目根目錄的
node_modules文件夾下,僅當前項目可用。
例如:安裝Web框架express(生產環境依賴):
npm install express --save
(--save 會自動將依賴寫入 package.json 的 dependencies 字段,即生產依賴)。
- 全局安裝(
-g參數):包會被安裝到系統級目錄,可在任何項目中直接調用。
例如:安裝代碼格式化工具prettier(全局工具):
npm install -g prettier
安裝後可在終端直接執行 prettier --version 驗證。
2. 生產依賴 vs 開發依賴¶
- 生產依賴(
dependencies):項目運行時必須的依賴(如react、vue、express)。
安裝時用--save(或簡寫-S):
npm install react --save
- 開發依賴(
devDependencies):僅開發時需要的依賴(如代碼檢查工具eslint、構建工具webpack)。
安裝時用--save-dev(或簡寫-D):
npm install eslint --save-dev
提示:安裝時可省略
--save,npm會自動根據依賴類型寫入對應字段(需確保package.json配置正確)。
五、管理依賴:查看、更新、卸載¶
1. 查看已安裝依賴¶
- 查看所有依賴:
npm list
(會顯示 node_modules 下的所有依賴樹)。
- 查看生產依賴:
npm list --production
2. 更新依賴¶
- 更新單個依賴:
npm update <包名>
(更新到最新兼容版本,需注意版本號規則)。
- 更新所有依賴:
npm update
3. 卸載依賴¶
- 卸載生產依賴:
npm uninstall <包名>
(會自動從 package.json 和 node_modules 中移除)。
- 卸載開發依賴:
npm uninstall <包名> --save-dev
4. 清理依賴¶
- 移除未在
package.json中聲明的依賴:
npm prune
六、常用npm命令速查表¶
| 命令 | 作用 |
|---|---|
npm init |
初始化項目,生成 package.json |
npm install <包名> |
安裝包到本地(默認生產依賴) |
npm install -g <包名> |
全局安裝包 |
npm install -S <包名> |
安裝生產依賴並寫入 dependencies |
npm install -D <包名> |
安裝開發依賴並寫入 devDependencies |
npm uninstall <包名> |
卸載包 |
npm update <包名> |
更新包到最新版本 |
npm list |
查看所有依賴 |
npm start |
運行 package.json 中 scripts 的 start 腳本 |
npm run <腳本名> |
運行自定義腳本(如 npm run build) |
七、實用技巧:解決國內訪問慢問題¶
由於npm服務器在國外,國內用戶訪問可能較慢。可通過以下方式加速:
1. 使用淘寶鏡像(推薦)¶
- 臨時使用淘寶鏡像安裝:
npm install <包名> --registry=https://registry.npm.taobao.org
- 永久配置淘寶鏡像:
npm config set registry https://registry.npm.taobao.org
- 驗證是否生效:
npm config get registry # 顯示淘寶鏡像地址
2. 使用cnpm(淘寶官方工具)¶
- 安裝cnpm:
npm install -g cnpm --registry=https://registry.npm.taobao.org
- 用cnpm代替npm:
cnpm install <包名>
八、注意事項¶
- 不要上傳
node_modules到Git:
node_modules體積大且重複,可在.gitignore中添加:
node_modules/
package-lock.json
-
版本號規則:
package.json中依賴版本號用^(兼容小版本更新)或~(僅補丁版本更新),例如:
-^1.2.3:允許更新到1.3.x或1.4.x(小版本)。
-~1.2.3:僅允許更新到1.2.x(補丁版本)。 -
避免全局安裝過多工具:
全局安裝的包僅在終端可用,項目依賴應優先本地安裝,避免版本衝突。
總結¶
npm是Node.js開發的核心工具,掌握它能極大提升開發效率。從初始化項目、安裝依賴到管理版本,核心是理解 package.json 和依賴的分類(生產/開發)。通過本文的步驟和示例,你可以快速上手npm,後續可結合項目實踐深入學習更多高級功能(如腳本配置、版本鎖定等)。
現在,打開終端,嘗試創建一個項目,安裝第一個依賴吧! 🚀