2017-09-27 4 views
0

.Net/Angular Webアプリケーションの不都合なソフトウェアアーキテクチャのため、本番用にng build(--prod)をバンドルすることはできません環境。角4 - Angularが--prodでバンドルされているほうが速い

ここで私の質問は、SystemJSをロードしたAngularアプリケーションのパフォーマンスが、同じアプリケーションとng build --prodをバンドルした場合と比較してどれだけ大きいのですか?

パフォーマンス測定を行った人はいますか?

次のテストアプリケーションで試してみましたが、デベロッパーコンソールで実行時間を読みましたが、これは実際には信頼性がありませんangular-realworld-example-app

"SystemJS" | "バンドルプロード"
..... 1.9s ....... | .......... 1.1s
.... 2.2s ....... |。 ......... 1.4s
..... 1.7s .......... .......... 1.3s
..... 2.1s。 ...... | .......... 1.0s
..... 1.8s .......... .......... 1.1s
..... 1.7s ....... | .......... 1.15s

...〜1.68s ..... | ..... ...〜1.17s
(平均秒数)

答えて

2

ng build --prodは "Ahead of Time"を作成します。b undle(https://angular.io/guide/aot-compiler)これは、角度コンパイラを実動バンドルに含める必要がないことを意味します。

ドキュメントに書かれているように、ダウンロードサイズの面でパフォーマンスの向上があります:

コンパイラはおよそ角度自体の半分なので、劇的にそれを省略すると、アプリケーションペイロードを低減します。

そしてまた、アプリケーションの起動時間で獲得:

高速化AOTで

レンダリング、ブラウザは、アプリケーションのコンパイル済みのバージョンをダウンロードします。ブラウザは実行可能コードをロードするので、まずアプリケーションをコンパイルするのを待つことなく、アプリケーションをすぐにレンダリングできます。

JITコンパイルされたアプリケーションと比較した実際の利得は、テンプレートの量とそのサイズによって異なります。

少ない非同期リクエスト

コンパイラは、それらのソースファイルに対して別々のAJAXリクエストを排除し、アプリケーションのJavaScript内外部のHTMLテンプレートとCSSスタイルシートをインライン化。

+0

--aotフラグは先読みします--prodフラグは--target = productionのショートカットです –

+0

--prodを設定するメタフラグではありません - 旗? (ここに書いてあります:https://github.com/angular/angular-cli/wiki/build) –

関連する問題