【问题标题】:Why are polyfills in angular production builds behaving differently than in dev mode?为什么角生产构建中的 polyfills 与开发模式中的行为不同?
【发布时间】:2019-05-14 13:26:22
【问题描述】:

我们使用角度材质来显示一个简单的对话框。该问题仅在 Internet Explorer 11 与 core-js/es6/weak-map polyfill 结合使用时出现。首先我们忘记包含这个 polyfill,但在开发模式下,对话框仍然有效。但是当我们测试生产版本时,对话框没有打开并抛出错误。现在我们很清楚,由于缺少 polyfill,它应该会失败。但是为什么它在没有 polyfill 的情况下在开发模式下工作?

我们有一个基于 cli 的示例项目来在这里显示问题:https://github.com/olmero/matdialog-ie11

您可以使用“npm run start”和“npm run start-prod”运行项目。然后注释掉polyfills.ts中的WeakMap polyfill并进行比较。

【问题讨论】:

    标签: angular angular-material2 polyfills


    【解决方案1】:

    在 v7 中有一个 polyfill 更改。不知道是不是和你的问题有关。

    “我们继续关注性能,分析了整个生态系统中的常见错误。我们发现许多开发人员将反射元数据 polyfill 包含在生产中,而这仅在开发中需要。

    为解决此问题,v7 的部分更新将自动从您的 polyfills.ts 文件中删除它,然后在以 JIT 模式构建应用程序时将其作为构建步骤包含在内,默认情况下从生产构建中删除此 polyfill。”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      • 1970-01-01
      • 2021-03-13
      • 1970-01-01
      • 2014-02-05
      • 2012-06-07
      相关资源
      最近更新 更多