You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Nest CLI仅在生产环境构建时使用Webpack

Nest CLI 配置:仅生产环境构建启用Webpack

Nest CLI的命令行参数优先级高于nest-cli.json里的固定配置,靠这个覆盖规则就能实现需求,不用维护多套配置文件。

操作步骤

  • 关闭全局默认的Webpack打包
    打开项目根目录的nest-cli.json,把顶层的webpack字段设为false,默认构建场景就会走tsc原生编译,开发时的构建速度会快很多。参考配置:
{
  "collection": "@nestjs/schematics",
  "sourceRoot": "src",
  "compilerOptions": {
    "deleteOutDir": true
  },
  "webpack": false
}

要是你用的是Nest Monorepo结构,注意别在子项目的单独配置里写webpack: true,不然会覆盖全局的默认设置。

  • 给生产构建命令单独开启Webpack
    Nest CLI的build命令支持传--webpack参数临时覆盖配置里的开关,直接改package.json里的脚本就行:开发相关的命令不带这个参数,只有生产构建的命令加上参数。参考配置:
{
  "scripts": {
    "start:dev": "nest start --watch",
    "build": "nest build",
    "build:prod": "nest build --webpack"
  }
}

如果你生产环境用了自定义Webpack配置,直接把生产构建命令改成nest build --webpack --webpackPath ./webpack.config.prod.js就行,指定生产专属的Webpack配置,完全不影响开发环境的构建流程。

最终效果

配置完之后:

  • 本地开发跑npm run start:dev、日常测试构建跑npm run build的时候,都走tsc快速编译,没有Webpack打包的等待时间
  • 只有跑npm run build:prod打生产包的时候,才会启用Webpack做单文件打包、Tree Shaking这些生产环境需要的优化

内容的提问来源于stack exchange,提问作者noamtm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 02:18:03