为什么npm i 要加上--save-dev

npm 中,--save-dev 是一个标志,用于将依赖项安装为开发依赖。这些依赖项通常是开发过程中需要使用的工具或库,而不是在生产环境中运行代码时需要的依赖。


开发依赖(DevDependencies)

当你在项目中使用 npm install 时,如果带有 --save-dev 标志,依赖会被添加到 package.jsondevDependencies 节点中。例如:

javascript 复制代码
npm install eslint --save-dev

结果 package.json 中会出现:

javascript 复制代码
{
  "devDependencies": {
    "eslint": "^8.50.0"
  }
}

常见的开发依赖示例

  • 构建工具:Webpack、Vite、Rollup 等
  • 代码质量工具:ESLint、Prettier 等
  • 测试框架:Jest、Mocha 等
  • 开发服务器:Webpack Dev Server、Vite 等

与生产依赖(Dependencies)的区别

  1. 开发依赖(DevDependencies)

    • 只在开发和构建过程中需要。
    • 不会被部署到生产环境。
    • 用于本地构建、代码检查、测试等任务。
  2. 生产依赖(Dependencies)

    • 项目在运行时必须依赖的库或框架。
    • 例如:Vue、React、Axios 等。

如何安装为生产依赖

不使用 --save-dev 时,默认安装为生产依赖:

javascript 复制代码
npm install axios

package.json 中会出现在 dependencies 节点:

javascript 复制代码
{
  "dependencies": {
    "axios": "^1.5.0"
  }
}

在安装后如何手动移动依赖

如果你想手动调

javascript 复制代码
npm install

这将根据更新的 package.json 文件重新整理依赖项。


--save-dev 的简写

在较新的 npm 版本中,可以使用 -D 作为 --save-dev 的简写:

javascript 复制代码
npm install eslint -D

总结

--save-dev 是用来安装只在开发阶段使用的工具或库的标志,有助于明确开发依赖和生产依赖之间的界限,从而优化项目的依赖管理和生产环境的性能。

相关推荐
lijun_xiao20096 小时前
前端最新Vue2+Vue3基础入门到实战项目全套教程
前端
90后的晨仔6 小时前
Pinia 状态管理原理与实战全解析
前端·vue.js
代码搬运媛6 小时前
【架构相关】tsconfig.json 与 tsconfig.node.json、tsconfig.app.json 的关系和作用
node.js·json
杰克尼6 小时前
JavaWeb_p165部门管理
java·开发语言·前端
EndingCoder6 小时前
WebSocket实时通信:Socket.io
服务器·javascript·网络·websocket·网络协议·node.js
90后的晨仔6 小时前
Vue3 状态管理完全指南:从响应式 API 到 Pinia
前端·vue.js
90后的晨仔6 小时前
Vue 内置组件全解析:提升开发效率的五大神器
前端·vue.js
我胡为喜呀6 小时前
Vue3 中的 watch 和 watchEffect:如何优雅地监听数据变化
前端·javascript·vue.js
我登哥MVP7 小时前
Ajax 详解
java·前端·ajax·javaweb
非凡ghost7 小时前
Typora(跨平台MarkDown编辑器) v1.12.2 中文绿色版
前端·windows·智能手机·编辑器·软件需求