我的应用程序是在 Angular 2 的帮助下完成的,并且在所有浏览器上都能正常运行。但是在IE上加载很慢(10和11,我下面不支持)。例如,在 Safari、Chrome 和 Firefox 上加载需要大约 1.5 秒,在 IE 上需要 5 秒以上(在 Edge 上需要 10 秒)。 我查看了网络选项卡,发现有时两次调用之间存在间隔(0.5 到 1 秒):
知道什么可以在两次调用之间延迟 IE 吗?
我唯一的线索可能是我的 index.html 中的垫片排序:
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>AGA Front App</title>
<script src='@routes.Assets.versioned("lib/angular2/es6/dev/src/testing/shims_for_IE.js")'></script>
<script src='@routes.Assets.versioned("lib/es6-shim/es6-shim.min.js")'></script>
<script src='@routes.Assets.versioned("lib/systemjs/dist/system.src.js")'></script>
<script src='@routes.Assets.versioned("lib/typescript/lib/typescript.js")'></script>
<script src='@routes.Assets.versioned("lib/angular2/bundles/angular2-polyfills.js")'></script>
<script src='@routes.Assets.versioned("lib/rxjs/bundles/Rx.js")'></script>
<script src='@routes.Assets.versioned("lib/angular2/bundles/angular2.js")'></script>
<script src='@routes.Assets.versioned("lib/angular2/bundles/http.js")'></script>
<script src='@routes.Assets.versioned("lib/angular2/bundles/router.dev.js")'></script>
<script src='@routes.Assets.versioned("systemjs.config.js")'></script>
<script>
System.import(path + '/assets/app/bootstrap.ts')
.catch(console.error.bind(console));
</script>
最佳答案
多重想法:
- 克服困难的一种方法是减少 HTTP 调用。 (连接所有 源代码到一个最小化的 JS 文件中)
- 正如您所说的那样,您的垫片也可能会开始行动,从而导致延迟。尝试 使用 modernizr 而不是多个垫片。
另请参阅:
YUI 最佳实践 - https://developer.yahoo.com/performance/rules.html
通过 Google 性能规则运行您的应用: https://developers.google.com/web/fundamentals/performance/?hl=en
关于javascript - Internet Explorer (10, 11) 加载 Angular 2 应用程序非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37940956/