如何为生产构建 Angular 4.3.6?

How to build Angular 4.3.6 for production?

我对使用 Webpack 的 angular-cli 创建的 Angular 4 应用程序有一些疑问。

ng build --prod --aot 是创建最终包以部署到生产环境中的最佳命令吗?

如果是,Tree shaking、AOT 和 Uglfy 是通过 angular-cli 默认配置的还是我应该手动配置这些?

在捆绑使用 angular-cli 开发的 Angular 4 应用程序时是否有任何其他最佳实践或建议?

我使用@angular/cli版本1.3.1.

Is ng build --prod --aot the best command for create the final bundle to deploy in prodcution stage...?

我可以说短一点,是的

If yes, is Tree shaking and AOT and Uglfy configured by default throught Angular-cli or i am supposed to configure it manually ?

您不需要手动配置它。它已经在那里了。

Is there's any other best method or advice to bundle an Angular 4 app developed via Angular-cli ...?

您可以使用实验性选项 build-optimizer=true 进一步减小应用程序的大小。请注意,它是实验性的。

你非常接近。根据 angular-cli documentation,这些是用于 --prod 标志的设置:

--aot true
--environment prod
--output-hashing all
--sourcemaps false
--extract-css true
--named-chunks   false

它也这样做:

  • 如果在 .angular-cli.json.
  • 中配置,则添加 service worker
  • 用生产值替换模块中的 process.env.NODE_ENV。
  • 在代码上运行 UglifyJS。

因此,您只需使用 ng build --prod,angular-cli 将处理其余部分。