2016-08-04 7 views
0

IE Edgeで私のAureliaアプリを試したところ、フロントページを読み込むのに20秒かかった。私はグーグルaureliaのエッジのパフォーマンスをグーグルアウレリアのページのページを切り替えるにも不合理な時間がかかり、ブルーバードJSライブラリを追加すると、すべてのブラウザのパフォーマンスに役立つことがわかりました。私は正確にの例を見つけることができませんでしたsystem.jsの直前に追加する指示を除いて、このライブラリを追加する方法はです。AureliaアプリにBluebirdを追加するとバグが発生する

だから今の代わりに、この:

<script src="//cdn.jsdelivr.net/bluebird/3.4.1/bluebird.min.js"></script> 
<script src="/jspm_packages/system.js"></script> 
<script src="/config.js"></script> 
<script> 
    System.import('aurelia-bootstrapper'); 
</script> 

全体のアプリは、それがために使用と同じように、私は、基本的にすべての単一のビューとその機能を試してみた作品:

<script src="/jspm_packages/system.js"></script> 
<script src="/config.js"></script> 
<script> 
    System.import('aurelia-bootstrapper'); 
</script> 

私はこれを持っていますを除くもの;

すべてのルートが成功すると、現在表示されているルートと一致するIDを<html>要素(スタイリング用)に追加します。ホームページには<html id="home-page">とログインページ<html id="login-page">があります。最初のページの読み込み時に、何らかの理由で

this.eventAggregator.subscribe('router:navigation:success', event => { 
    if (event.instruction && event.instruction.router && event.instruction.router.currentInstruction && event.instruction.router.currentInstruction.config) { 
     document.documentElement.id = event.instruction.router.currentInstruction.config.name + '-page'; 
    } 
}); 

、そして唯一の最初のページロードで、このイベントは決して火災:

この

はそうのようなその attached()方法で app.js(ルート要素)で行われます。別のルートに行くのはうまくいき、初めてイベントが起きなかったルートに戻ります。最初のページの読み込み時にのみ起動します。

ブルーバードを削除すると、再びブルーバードが機能します。

誰もがを持っていますか?考えている原因は何ですか?私が言ったように、ブルーバードscript要素をindex.htmlに加えるだけです。私は実際のアプリケーションコードで何も変更を加えていません。

答えて

0

私が解決した方法は、ロード時とrouter:navigation:successイベントの現在のページを確認することです。この1つのことがBluebirdで動作しなくなるのはちょっと面倒ですが、同時にこのサイトはIEdgeで使えるようになりました...

関連する問題