Skip to main content

[Node] Node 基本觀念二

npm

下載完 node 之後,我們會需要 npm (Node Package Manager) 來去管理所有下載的套件,npm -v 以檢視版本號。

package.json

透過 npm init 建立一個 npm 專案,會問一些問題,最後根據你的回答產生類似以下的 json 回應

{
"name": "npm-test",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "thibe",
"license": "ISC"
}

同意的話就可以回答 y ,如此就建立好 package.json 的檔案了。另外,也可以透過 npm init -y 來跳過問題快速建立環境。

npm install

透過 package.json 可以知道專案所需要的套件、如何啟動等等資訊,在 git clone 完一個有 package.json 檔案的專案,由於一般人都不會把 node_modules 的資料夾進入 git 版本控制、上傳雲端,我們必需透過 npm install 或是 sudo npm install (mac) 來去下載所有套件。

套件版本號

舉例來說,下面 nodemon 套件可以看成

1 是主要版本號

12 是次要版本號

0 是 bug 修正

  "dependencies": {
"nodemon": "^1.12.0"
}

其他的符號意思如下,

^ 會自動更新 次要版本號bug 修正

~ 會自動更新 bug 修正

latest 會是永遠最新版

--save, --save-dev, -g

npm install express --save 會是 node 應用程式上線會用到的模組。安裝完會長得如下

  "dependencies": {
"express": "^1.12.0"
}

npm install mocha --save-dev 是在開發環境才會使用的模組,在實際上線時不會需要。

  "devDependencies": {
"mocha": "^1.12.0"
}

npm install nodemon -g 是全域套件,在本機電腦較底層的資料夾寫入,位置如下

windows: C:\Users\AppData\Roming\npm\node_modules

Mac: '/usr/local/lib/node_modules'

如此一來,就不會在工作地點的 package.json 寫入套件名,而會去較底層的地方尋找套件。

npm cheat sheet

npm -v :觀看 NPM 版本

npm init :新增 package.json

npm install [模組名稱][安裝位置] :安裝 NPM 模組,安裝位置常用屬性如下:

  1. -g 全域安裝
  2. --save 安裝模組並寫入 package.json 的 "dependencies"
  3. --save-dev 安裝模組並寫入 package.json 的 "devDependencies"

npm list :顯示安裝的 NPM 列表

npm uninstall [模組名稱] :刪除專案裡的 NPM