在 Node.js 项目中,dependencies 和 devDependencies 是两种不同类型的依赖项,它们在 package.json 文件中分别列出。安装这些依赖项的命令也不同。

安装命令

  • 安装到 dependencies
npm install <package-name> --save
# 或者
npm install <package-name>
  • 安装到 devDependencies
npm install <package-name> --save-dev
# 或者
npm install <package-name> -D

什么时候使用 dependencies?

dependencies 是你的应用程序在运行时需要的依赖项。这些包是应用程序正常运行所必需的。典型的例子包括框架库、数据库客户端、HTTP 请求库等。

判断标准:
  • 应用程序在生产环境中需要这些包来正常运行。
  • 例如:Vue、React、Express、Axios 等。
示例:
{
  "dependencies": {
    "vue": "^3.2.0",
    "axios": "^0.21.1"
  }
}

什么时候使用 devDependencies?

devDependencies 是开发和测试过程中需要的依赖项。这些包不需要在生产环境中使用。典型的例子包括编译器、打包工具、测试框架、代码格式化工具等。

判断标准:
  • 仅在开发、构建或测试过程中需要这些包。
  • 例如:Webpack、Babel、ESLint、Jest 等。
示例:

{
  "devDependencies": {
    "webpack": "^5.24.2",
    "babel-loader": "^8.2.2",
    "eslint": "^7.22.0",
    "jest": "^26.6.3"
  }
}

如何判断使用哪个?

  • 生产环境需要:如果你的应用在生产环境中运行时需要这个包,请将其添加到 dependencies
  • 开发环境需要:如果这个包仅用于开发、构建、测试或其他开发阶段,请将其添加到 devDependencies

示例场景

  • Vue 项目:

    • vuevue-router:生产环境需要,因此放在 dependencies
    • webpackbabeleslint:仅在开发和构建过程中需要,因此放在 devDependencies。
  • Node.js 后端项目:

    • express、mongoose:生产环境需要,因此放在 dependencies。
    • nodemon、jest:仅在开发和测试过程中需要,因此放在 devDependencies。

总结

理解项目的依赖类型有助于更好地管理和部署项目。正确区分和使用 dependencies devDependencies 不仅能优化项目的打包和部署过程,还能确保在生产环境中有一个最小化的依赖包集,从而提高性能和安全性。

GitHub 加速计划 / de / Dependencies
8.61 K
704
下载
A rewrite of the old legacy software "depends.exe" in C# for Windows devs to troubleshoot dll load dependencies issues.
最近提交(Master分支:3 个月前 )
1997a400 - 2 年前
2f423539 - 2 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐