使用System.js的性能问题

时间:2015-09-16 20:49:29

标签: javascript performance optimization systemjs

我正在使用system.js(灵感来自angular2使用它作为他们的教程),但即使对于最琐碎的样本,我也会得到可笑的糟糕表现。

例如,以下代码在第二个(System.import之前)和最后一个(app.js)console.log之间的延迟为26000ms(!),同时在本地运行(因此没有网络延迟) )

的index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>System.js Sample</title>
    <script>console.log("1: " + new Date().getTime());</script>
    <script src="bower_components/system.js/dist/system.js"></script>
</head>
<body>
<script>
    console.log('2: ' + new Date().getTime());
    System.import('app.js');
</script>
</body>
</html>

App.js:

console.log('3: ' + new Date().getTime());

我通过bower安装了最新的system.js版本(&#34; system.js&#34;:&#34; ~0.18.17&#34;)并删除了所有剩余的代码,它真的只是需要很长时间的System.import调用。那么我做错了什么?

在Chrome下加载页面时,“网络”标签的图片: enter image description here

2 个答案:

答案 0 :(得分:0)

考虑到system.js异步加载脚本,26ms是脚本的正常加载速度。您的本地服务器需要一些时间来处理请求/响应作业​​并导致一些延迟。

答案 1 :(得分:0)

最初的Angular2快速入门仓库将单独加载RxJS文件,这花费的时间太长。您经常会发现300多个请求。从那时起,他们已经修复了这个问题,您可以进一步减少导入RxJS模块时特定的请求。如今,Angular快速启动回购要快得多。