5

Angular 4 upgrade guideに従って、AngularJS 1.6 アプリを更新しました。基本的に、新しい angular 4 依存関係を に追加しpackage.json、アプリをブートストラップし、angular 4UpgradeModuleで新しい単純なコンポーネントを作成しました。すべてが期待どおりに機能しますが、パフォーマンスは本当に悪いです!

アプリケーションはダッシュボード アプリケーションであり、多数のウィジェット コンポーネントと、各ウィジェット コンテンツを埋めるためのバックエンドへの多数の http 要求が含まれる可能性があります。

ダッシュボードによっては、アップグレードされたアプリはダッシュボードの読み込みと表示が 2 倍から 5 倍遅くなり、Chrome ネットワーク コンソールは、http リクエストが 1.6 バージョンのように一度に実行されるのではなく、順番に実行されることを示しています。全体的に、UI も流動的ではありません。

変更検出による更新コストを削減するためngZoneに、Angular 以外でリクエストを実行してみました。zone.runOutsideAngular(() => { ... })結果はわずかに速くなりましたが、元の 1.6 のみのバージョンよりもはるかに遅くなります。

オリジナルの優れたパフォーマンスを維持するために、ハイブリッド 1.6-4 アプリにアップグレードする際に考慮すべきことはありますか? ありがとう!

4

2 に答える 2

3

ハイブリッドアプリケーションを使用しています。私たちの測定によると、NG2 は最初の NG1 時間に約 20% 追加されます。それほど悪くはありませんが、ハイブリッドを構成した後、多くのスタッフを配置しました。JIT for dev 3) - Tree-shaking 4) - 条件付き poly-fills (最新のブラウザーでは poly-fills は必要ありませんが、古いブラウザーでは必要です)

次のスタッフも統合しようとしています: 1) - 遅延読み込み。しかし、ハイブリッドアプリケーションで機能しているかどうかはわかりません 2) - Web Worker は NG2 を別のスレッドに移動します。しかし、ハイブリッドアプリケーションで機能しているかどうかはまだわかりません 3) - いくつかのカスタム検出変更戦略

NG2 のパフォーマンスに関する優れたチェックリストを次に示します。お役に立てば幸いです。

于 2017-05-04T10:45:11.813 に答える