使用弹出的Angular 4应用程序进行生产编译会生成大文件

To *_* Ka 9 production production-environment angular2-aot angular

ng build --prod Angular CLI命令在Angular4应用程序中生成高度压缩的javascript文件.

当使用ng eject命令弹出应用程序时,Angular CLI命令消失了,我们留下了npm脚本(npm run build构建应用程序的命令),但不幸的是,该命令输出了非生产版本.

我试图运行webpack -p直接命令,但输出的结果文件稍微相比的输出ng build --prod命令.

如何ng build --prod在弹出的应用程序上获得压缩等效命令?什么命令/参数可以产生这样的结果?

小智 18

您可以使用以下命令弹出webpack配置的生产版本:

ng eject --prod
Run Code Online (Sandbox Code Playgroud)

编辑

如果要同时使用弹出的webpack配置的开发和生产版本,请执行以下操作:

  1. 备份现有的package.json
  2. 执行ng eject --prod(这将弹出webpack配置的生产版本)

  3. 重命名弹出 webpack.config.json到webpack.config,prod.json

  4. 恢复备份的package.json(实际的更改几乎是脚本和很少的新包).您可能还想编辑.angular-cli.json并将ejected属性更改为false.
  5. 执行ng eject(这将弹出开发版本).

你现在留下了webpack配置的生产和开发版本.现在,要编译Angular项目以进行生产,执行webpack --config webpack.config-prod.js,您也可以将其添加到package.json脚本中以方便使用.

然而,这可能不是一个完美的方法,但这是我在做的.如果有更好的版本,请随时编辑.