啥时候dependencies❓啥时候devDependencies❓

✅ 一、dependencies(生产依赖 / 项目依赖)

这些依赖是你的项目在"运行"时必须要用的,无论是在开发阶段还是部署上线后。

你项目打包后的最终结果,也会依赖这些库才能正常工作。也就是说:用户在访问你的网站或使用你的应用时,这些依赖仍然会起作用。

安装命令:

js 复制代码
npm install 包名       # 或者
npm install 包名 --save

例子:

  • Vue / React 等前端框架
  • vue-router / react-router 等路由库
  • axios(用于发请求)
  • UI 组件库:Element UI、Ant Design、Vant 等
  • 状态管理库:Vuex、Pinia、Redux

🔁 总结一句话:

这些依赖是"跑项目的时候必须要的",不管是开发还是上线后。
"跑项目的时候必须要的",不管是开发阶段还是部署上线后,dependencies 都不能少!


✅ 二、devDependencies(开发依赖)

这些依赖是你在"开发"项目时用的,但用户在"用你的网站"时根本不需要这些。

安装命令:

bash 复制代码
npm install 包名 --save-dev

例子:

  • 构建工具:webpack、Vite、rollup
  • 脚手架工具:vue-cli、create-react-app
  • 编译器:babel、tsc(TypeScript 编译器)
  • loader 插件:babel-loader、style-loader、sass-loader
  • 样式预处理器:sass、less
  • 格式化工具:prettier
  • 语法检查工具:eslint、stylelint
  • 单元测试工具:jest、mocha、vitest
  • mock 工具:msw、mockjs
  • 类型工具:@types/***(例如 @types/react)

🔁 总结一句话:

开发时让你"写代码更爽、更快",但不参与上线后的运行。


✅ 三、小白记忆口诀

类型 用来干嘛的 命令 举例
dependencies 项目"运行"需要的 npm install xxx Vue、axios、element-ui
devDependencies 项目"开发"时需要的(不会上线) npm install xxx -D eslint、webpack、babel

打开你的项目目录,查看 package.json 文件:

json 复制代码
{
  "dependencies": {
    "vue": "^3.4.0",
    "axios": "^1.6.0"
  },
  "devDependencies": {
    "vite": "^5.0.0",
    "eslint": "^8.0.0",
    "prettier": "^3.0.0"
  }
}

这样你就能清楚知道:哪些是"项目跑起来需要的",哪些是"只是开发用的工具"。

dependencies 是生产环境中运行所需的包,它们是应用的核心部分,影响应用的运行。
devDependencies 是开发环境中使用的工具和库,它们不影响生产环境的应用运行。

在现代的 JavaScriptNode.js 项目中,package.json 文件是项目配置的核心,它包含了项目的依赖项、脚本和其他重要信息。在依赖管理中,dependenciesdevDependencies 是两个关键的字段。了解它们的区别和用途对开发和部署过程至关重要。

相关推荐
童先生3 小时前
Nginx + Vue/React 前端 + API:防止路径混淆漏洞与跨域问题实战分享
前端·vue.js·nginx
Stringzhua5 小时前
Vue数据的变更操作与表单数据的收集【6】
前端·javascript·vue.js
万少5 小时前
可可图片编辑 HarmonyOS 上架应用分享
前端·harmonyos
你的人类朋友6 小时前
git常见操作整理(持续更新)
前端·git·后端
无羡仙6 小时前
Webpack 核心实战:从零搭建支持热更新与 Babel 转译的现代前端环境
前端·webpack·前端框架
你的人类朋友6 小时前
git中的Fast-Forward是什么?
前端·git·后端
初遇你时动了情6 小时前
uniapp vue3 ts自定义底部 tabbar菜单
前端·javascript·uni-app
JarvanMo6 小时前
天塌了?Flutter工程总监跑去苹果了?
前端
烛阴7 小时前
掌握 TypeScript 的边界:any, unknown, void, never 的正确用法与陷阱
前端·javascript·typescript
Jerry8 小时前
迁移到 Jetpack Compose
前端