devdependencies、dependencies、peerDependencies配置詳解
要弄清楚package.json中這三項配置下的包名生成的場景就要先弄清楚4個npm命令。
npm install mypack & npm install mypack -savenpm install mypack -save-devnpm install mypack -gnpm install
命令 npm install mypack & npm install mypack -save
- 將
mypack安裝到node_modules目錄下 - 並且將該包名放入
package.json下的dependencies中
// 執行
npm install mypack -save
// 結果
"dependencies": {
"mypack": "^1.0.0",
}
命令 npm install mypack -save-dev
- 將
mypack安裝到node_modules目錄下 - 並且將該包名放入
package.json下的devdependencies中
// 執行
npm install mypack -save-dev
// 結果
"devdependencies": {
"mypack": "^1.0.0",
}
命令 npm install mypack -g
- 將
mypack安裝你node的安裝目錄 及 全局目錄。 - 該包名不放入
package.json中 - 可以直接在命令行里使用。如
npm
// 執行
npm ...
peerDependencies
主要目的是提示宿主環境去安裝滿足插件
peerDependencies所指定依賴的包,然后在插件import或者require所依賴的包的時候,永遠都是引用宿主環境統一安裝的npm包,最終解決插件與所依賴包不一致的問題。
有一篇博客寫的很詳細點這里
命令 npm install
- 安裝
devdependencies及dependencies內的依賴包到node_modules目錄 - 開發時可以使用
require()或者import導入使用
// 例如
import moment from 'moment'
const path = require('path')
命令 npm install --production
- 只會安裝
dependencies內的依賴包到node_modules目錄 - 開發時可以使用
require()或者import導入使用
