devdependencies、dependencies、peerDependencies配置详解
要弄清楚package.json
中这三项配置下的包名生成的场景就要先弄清楚4个npm
命令。
npm install mypack & npm install mypack -save
npm install mypack -save-dev
npm install mypack -g
npm 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
导入使用