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

相关推荐
ZC跨境爬虫1 天前
跟着 MDN 学 HTML day_37:(深入掌握 CustomEvent 自定义事件接口)
前端·javascript·ui·html·音视频
码海扬帆:前端探索之旅1 天前
深度定制 uni-combox:新增功能详解与实战指南
前端·vue.js·uni-app
谷雨不太卷1 天前
进程的状态码
java·前端·算法
打小就很皮...1 天前
基于 Python + LangChain + RAG 的知识检索系统实战
前端·langchain·embedding·rag
BJ-Giser1 天前
Cesium 烟雾粒子特效
前端·可视化·cesium
空中海1 天前
02 ArkTS 语言与工程规范
java·前端·spring
whinc1 天前
Node.js技术周刊 2026年第18周
javascript·node.js