【问题标题】:Angular 8 CLI: Disable differential loading in development serveAngular 8 CLI:在开发服务中禁用差异加载
【发布时间】:2019-05-30 20:09:37
【问题描述】:

自从升级到 Angular 8 后,我们的项目默认启用了差异加载,从而为 ES5 和 ES2015 提供了一个 polyfill。虽然我非常欢迎这种变化,但有没有办法在开发模式下强制 ES2015 模式?我正在尝试从初始构建时间和增量构建时间中减少任何一秒,它们分别超过 40 / 8 秒。

【问题讨论】:

标签: angular ecmascript-6 angular-cli ecmascript-5


【解决方案1】:

在使用ng serve 进行开发时默认禁用ES5。

在 Angular CLI 版本 8 及更高版本中,默认情况下会为 ng build 命令启用差异加载。 但是,ng serve、ng test 和 ng e2e 命令会生成单个 ES2015 构建,该构建无法在不支持这些模块的旧浏览器(例如 IE 11)中运行。

Angular Docs

我相信 ng build --watch 也禁用了它,但如果这是有意的行为,我找不到参考。

【讨论】:

    【解决方案2】:

    如果差异加载导致意外问题,或者您需要专门针对旧版浏览器支持,则可以显式禁用差异加载。

    显式禁用差异加载:

    在browserslist配置文件中通过去掉not关键字来启用dead或IE浏览器。将compilerOptions中的target设置为es5。

    https://angular.io/guide/deployment#configuring-differential-loading

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-31
      • 1970-01-01
      • 1970-01-01
      • 2017-06-07
      • 1970-01-01
      • 2017-03-04
      • 2017-11-25
      • 2018-08-22
      相关资源
      最近更新 更多