什麼時候一個 package 是一個依賴(dependency),什麼時候是一個開發依賴(dev dependency)?
當你使用 npm install <package-name>
命令來安裝一個 npm package 時,你是將它安裝為一個 依賴(dependency)。
該 package 會自動列在 package.json 文件的 dependencies
列表中(自 npm 5 版本起:之前需要手動指定 --save
)。
當你添加 -D
標誌或 --save-dev
時,你是將它安裝為一個開發依賴(dev dependency),這會將它添加到 devDependencies
列表中。
開發依賴主要是一些僅用於開發的 package,在生產環境中是不需要的。例如測試 package、webpack 或 Babel。
當你進入生產環境時,如果目錄中有一個 package.json
文件,執行 npm install
就會安裝這些 package,因為 npm 假設這是一個開發佈署。
你需要設置 --production
標誌 (npm install --production
) 來避免安裝這些開發依賴。