核心在于生产环境是否必需:dependencies是运行时必需的包(如react、express),写入时用-s或默认安装;devdependencies是开发专用工具(如webpack、jest),用-d安装;部署时npm install --production仅装dependencies。

npm 通过用途和安装时机来区分 dependencies 和 devDependencies,核心在于“这个包是不是生产环境运行所必需的”。
看用途:运行时需要 vs 开发时才用
dependencies 是项目上线后实际运行时依赖的包,比如 Express、React、Axios、Lodash —— 没有它们,程序会直接报错或功能缺失。
devDependencies 是开发阶段才用得上的工具,比如 Webpack、Jest、ESLint、TypeScript、Vite —— 它们只参与构建、测试、检查,代码一旦打包完成,就和生产环境无关了。
将一个或多个视频上传至YouTube。当用户想“上传到YouTube”“发YouTube”“批量上传”“upload to YouTube”“post videos to YouTube”或发布到YouTube时使用此技能。
看安装命令:默认写进哪一类
-
npm install express或npm install express --save(-S)→ 写入 dependencies -
npm install jest --save-dev(-D)→ 写入 devDependencies - npm 5.0+ 后,
npm install xxx默认自动加到 dependencies,不加参数不会进 devDependencies
看部署行为:生产环境只装 dependencies
执行 npm install --production(或 CI/CD 部署常用)时,npm 只读取并安装 dependencies 中的包,完全跳过 devDependencies。
这能显著减小线上 node_modules 体积、缩短安装时间、降低安全扫描范围。
看 package.json 结构:字段位置一目了然
打开你的 package.json,两个字段是平级的独立对象:
"devDependencies": { "jest": "^29.6.0", "eslint": "^8.47.0" }
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










