【问题标题】:Slow IE loading when aurelia build for prod, but not slow when build for dev and stageaurelia 为 prod 构建时 IE 加载缓慢,但在为 dev 和 stage 构建时并不慢
【发布时间】:2018-05-11 19:13:06
【问题描述】:

我有一个与 Webpack 捆绑在一起的应用程序。我描述的问题发生在 Webpack 3 和 Webpack 4 上。我升级到 4 希望它能解决它,但它没有。

运行“au build”时,生成的应用程序在 IE 中运行速度很快(不如其他浏览器快,但仍然可用)。运行“au build --env prod”时,生成的应用程序需要一分钟才能加载。

我开始删除功能,直到我只剩下一个空白屏幕并且它仍然遇到问题。我对 webpack.config 选项进行了硬编码,直到我生成了两个完全相同的应用程序,除了一个在包中嵌入了地图,另一个没有。嵌入 bundle 的应用在 IE11 中运行速度很快,而没有嵌入 bundle 的应用运行缓慢。

我可以通过使用 typescript、sass 和 Webpack 使用 cli 简单地构建一个新项目来重现这一点。你最终得到了标准的 Hello World aurelia 应用程序。 “au build” 然后在 IE11 中运行。 “正在加载...”状态显示大约一秒钟。然后,“au build --env prod”并在 IE 中运行。在“Hello World”出现之前,“正在加载...”状态会显示 6 - 10 秒。

唯一重要的区别是 js 映射是否存在于包中。它在那里运行得更快。

关于为什么以及如何解决这个问题的任何想法?

【问题讨论】:

  • 这个问题的答案是不要使用 bluebird promise polyfill。我切换到 es6-promise 并且 IE 现在非常快。好吧,我们都知道这是夸大其词,但它的反应是可以接受的。
  • 你应该用你的发现回答你自己的问题,它可能会帮助其他读者:)

标签: webpack aurelia


【解决方案1】:

此问题很可能与 bluebird 承诺 polyfill 有关。使用es6-promise,我在 IE11 中看不到任何问题,而 bluebird 似乎会延迟页面加载。我将 es6-promise v4.2.4 与 IE11 一起使用。

【讨论】:

  • 我们现在对 IE 使用 es6-promise,对所有其他使用 bluebird。
猜你喜欢
  • 2016-09-25
  • 2018-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-25
相关资源
最近更新 更多