2015-09-16 22 views
12

私はsystem.js(そのチュートリアルではangular2からインスピレーションを受けています)を使って遊んでいますが、最も簡単なサンプルであってもパフォーマンスは非常に悪いです。次のコードは、第間26000msの遅延(!)(System.import前のもの)と実行中に局所的にconsole.log(app.jsで)最後(SOないネットワーク遅延)System.jsを使用したパフォーマンスの問題

率を有する例えば

。 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:( "system.js": "〜0.18.17")私は亭経由system.js最新バージョンをインストールし

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

とすべて削除残りのコードは、実際にはSystem.importの呼び出しであり、これには年月がかかります。だから私は何が間違っているの?ネットワークタブの

ピクチャークロームの下のページを読み込む:非同期ロードスクリプトをsystem.js念頭に持つ enter image description here

+1

System.jsにはシステムスタイルモジュールを使用すると非常に遅くなるバグがありますが、AMDを使用している場合はOKです。システムスタイルモジュールを使用している場合は、AMDに切り替えて、それがより優れているかどうかを確認してください。 – Ixonal

+0

@Ixonal私は、「すべてのスクリプトを1つに連結し、スクリプトタグとして含める」という真のテスト済みの方法から切り換えていることを考慮して、もう少し情報が必要な場合があります。 js私はそれに固執したい(または、それはちょうど異なる構文しかし同じライブラリを意味するのですか?はい、私はちょっと混乱しています)。 – Voo

+0

私はあなたがTypeScriptを使用していると仮定していますか? tsconfig.jsonファイル内のモジュールに使用するシステムを設定できます。モジュールを "amd"に設定するだけです。 SystemはCommonJS、AMD、ES6、およびSystemスタイルのインポートを認識できるため、AMDに移行しても問題ありません。 – Ixonal

答えて

0

、26MSは、スクリプトの通常の負荷速度です。ローカルサーバーは要求/応答ジョブを処理するのに時間がかかるため、このためにいくらか遅延が発生します。

+0

26,000ms別名26秒。私の間違いは、英語のセパレータを混乱させます。 – Voo

+0

さて、これは正常ではありません:)私はこの遅延を引き起こすsystem.jsに疑いがあります。デベロッパーコンソール(ブラウザのF12) - > [ネットワーク]タブを確認してみてください。すべてのリソースをロードしたタイムラインが必要です。 app.jsスクリプトの読み込み時間を確認します。 –

+0

ロードには数ミリ秒かかりました。私はポストにスクリーンショットを追加しました。 – Voo

0

最初のAngular2クイックスタートレポは、時間がかかりすぎたRxJSファイルを個別に読み込みます。 300以上のリクエストが行われていることがよくあります。それ以来、彼らはこれを修正しており、RxJSモジュールをインポートする際に特定の要求をさらに減らすことができます。最近の角速度速写レポは、はるかに迅速です。

関連する問題