带弹出 Angular 4 应用程序的生产编译产生大文件

Production compilation with ejected Angular 4 application produces large files

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

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

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

如何在弹出的应用程序上获得相当于 ng build --prod 命令的压缩?什么command/arguments能产生这样的结果?

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

ng eject --prod

编辑

如果你想同时使用弹出的 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 脚本中以方便使用。

然而,这可能不是完美的方法,但这是我在 .如果有更好的版本,欢迎编辑。