dependencies 和 devDependencies 的区别
package.json 中两种依赖类型的使用场景和安装方式
问题
package.json 文件中的 dependencies 和 devDependencies 有什么区别?
解答
dependencies
dependencies 用于指定生产环境运行所需的依赖包,这些包会被打包到最终的生产代码中。
{
"dependencies": {
"react": "^18.2.0",
"axios": "^1.4.0",
"lodash": "^4.17.21"
}
}
安装方式:
npm install <package-name>
# 或
npm install <package-name> --save
devDependencies
devDependencies 用于指定开发过程中需要的依赖包,如测试框架、构建工具、代码检查工具等,这些包不会被打包到生产环境。
{
"devDependencies": {
"vite": "^4.3.0",
"eslint": "^8.42.0",
"jest": "^29.5.0",
"typescript": "^5.0.0"
}
}
安装方式:
npm install <package-name> --save-dev
# 或
npm install <package-name> -D
安装行为
# 安装所有依赖(包括 dependencies 和 devDependencies)
npm install
# 仅安装 dependencies(生产环境)
npm install --production
关键点
dependencies是运行时必需的依赖,会被打包到生产环境devDependencies是开发时使用的工具,不会进入生产代码- 使用
npm install默认安装两种依赖,--production参数只安装 dependencies - 正确区分两者可以减小生产环境的包体积
目录