npm
下載
nvm
建立環境
- 必須要有 package.json 才能安裝其他套件
  // 專案初始化 & 建立 package.json
  // -f 表示快速建立
  npm init -f 
package.json
{
  "name": "專案名稱",
  "version": "專案版號",
  "description": "描述",
  "main": "index.js", // entry point "專案進入點"
  "scripts": {
    // 此為 test command
    // npm script (可以將各種指令組合一起輸出)
    
    // 只需要打 npm start 即可
    // 亦可使用 F1 VSCode 會列出所有可用 script
    "start": "node start app.js" // 簡化指令
  },
   "keywords": [ "關鍵字" ],
  "repository": {
    "type": "git",
    "url": "上github建立專案的網址"
  },
  "author": "作者名",
  "license": "專案版權",  // ISC MIT
  "devDependencies": {
    // 專案開發時使用的套件,專案輸出時不會加入
    "eslint": "^5.16.0",
  },
  "dependencies": {
    // 專案上線時相依的套件,專案輸出時會加入
    "axios": "^0.19.0"
  }
}
安裝套件 (axios為例)
- npm help 列出指令列表
- cls VSCode 清空 Console 用
  // i 為 install 縮寫
  npm i axios
  npm i lodash@4.17   // 可以指定版本號
  // --save-dev 會把套件加入 devDependencies
  npm i axios --save-dev
  // 更新套件
  npm update lodash
  // 解除安裝
  npm uninstall 套件名 
全域安裝 (nodemon為例)
- -g 表全域安裝,安裝在電腦上而非該專案
- 依需求選用,各專案可能用的版本不同
- npm root -g 可以查詢全域的套件,安裝在哪?
- 可能會需要設定顯示隱藏檔案
- nodemon 用來監控專案改動,自動reload (類似LiveServer)
- Ctrl + C 關閉 nodemon
    npm i -g nodemon
    console.log(123) // index.js
    // VSCode Console 打上 nodemon 送出即可運行
    // 會監測任何 index.js的改動 並 reload
查詢安裝的套件
    // 只顯示第一層套件
    npm list --depth 0
    
    +-- axios@0.19.0
    +-- eslint@5.16.0
    +-- eslint-config-airbnb-base@13.1.0
    `-- eslint-plugin-import@2.17.3
版本號介紹 (8.2.6)
- 8 首個數字代表主版本 (巨大改動)
- 2 代表次版本 (新功能)
- 6 代表更新 (Patch,Bug Fix)
package.json 版號標記
- 不給與標記,即安裝該版本
- ^ 表更新至最新的次版本 (不會更新主版本)
- ~ 表更新至最新的更新 (Patch)
- 
安裝完成後
- 安裝的套件檔案會放在 node_modules 裏面
- 記得要在 .gitignore 忽略 node_modules
使用他人的專案
- git clone ~url .
- 使用 npm i 就會自動安裝所有套件了
- npm i --production 可以不安裝開發用的相依
參考資料