18

我正在玩 system.js (灵感来自 angular2 在他们的教程中使用它),但即使对于最微不足道的示例,我的性能也非常糟糕。

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

索引.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>

应用程序.js:

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

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

在 Chrome 下加载页面时 Network 选项卡的图片: 在此处输入图像描述

4

2 回答 2

1

最初的 Angular2 quickstart repo 会单独加载 RxJS 文件,这花费了太长时间。您经常会发现有 300 多个请求正在发出。从那时起,他们已经解决了这个问题,您可以通过在导入 RxJS 模块时更加具体来进一步减少请求。这些天来,Angular 快速启动 repo 要快得多。

于 2017-07-30T19:09:22.380 回答
1

记住 system.js 异步加载脚本,26 毫秒是脚本的正常加载速度。您的本地服务器需要一些时间来处理请求/响应作业​​并为此造成一些延迟。

于 2015-09-23T05:59:39.450 回答