【npm】npm的-D选项介绍

-Dnpm install 命令的常用选项,它的完整形式是 --save-dev,意思是:

主要作用

将包作为开发依赖(devDependencies)保存到 package.json 中

具体解释:

1. 依赖分类

json 复制代码
{
  "dependencies": {
    "express": "^4.18.0"      // 生产依赖
  },
  "devDependencies": {
    "typescript": "^5.0.0",   // 开发依赖
    "jest": "^29.0.0"         // 开发依赖
  }
}

2. 区分开发依赖和生产依赖

  • 生产依赖(dependencies):项目运行时必需的包

    • 如:express, react, lodash
    • 安装:npm install express
  • 开发依赖(devDependencies):只在开发阶段需要的包

    • 如:测试框架、构建工具、代码检查工具
    • 安装:npm install -D typescript

3. 实际应用场景

bash 复制代码
# 安装生产依赖
npm install express

# 安装开发依赖
npm install -D typescript
npm install -D jest
npm install -D webpack

# 或者完整写法
npm install --save-dev typescript

4. 重要影响

  • 部署影响 :使用 npm install --production 或设置 NODE_ENV=production 时,只安装生产依赖
  • 项目共享 :别人克隆你的项目后,运行 npm install 会安装所有依赖(包括开发依赖)

等价命令

bash 复制代码
npm i -D package-name    # 简写
npm install --save-dev package-name  # 完整写法
yarn add -D package-name  # yarn 的写法

示例对比

bash 复制代码
# 项目需要 TypeScript 编译,但生产环境不需要 TypeScript 本身
npm install -D typescript

# 项目需要 Express 来运行服务器
npm install express

简单记法:"-D" = "开发(Development)需要,生产不需要"

相关推荐
benbenAItalk5 小时前
数字人口播视频的批量生产实践:素材规范、任务编排与质量验收
java·前端·音视频
2601_962885725 小时前
如何用 Python 扫描 A 股跳空缺口并统计缺口回补概率?
java·前端·python
西瓜太郎12346 小时前
Claude Code、Codex CLI、Gemini CLI 能否共用一枚 Key?先看协议选择矩阵
前端·api 网关·claude code·gemini cli·codex cli
陈随易8 小时前
在Finch用了62亿词元,我认为这是新一代Agent工具之神
前端·人工智能·后端
水域安全老周8 小时前
水趣钓鱼救生衣专利拆解:两级锁紧如何解决落水人衣分离
java·前端·网络
计算机魔术师9 小时前
Anthropic CEO突然喊踩刹车,OpenAI罕见力挺:AI这辆车不能只踩油门了
前端
wing989 小时前
从codex转战workbuddy使用一周的感受
前端·人工智能·后端
EatFan9 小时前
Java接入支付宝 JSAPI 支付保姆教程(二):流程讲解与前后端代码讲解
前端·spring boot·后端·微信小程序·小程序·uni-app
梦想平凡10 小时前
百游棋牌源代码开发搭建教程(五):房间创建、座位分配与请求幂等实现
前端·javascript·数据库·源代码管理
IT_陈寒10 小时前
Redis的Set操作居然能把我的服务整挂了?
前端·人工智能·后端