2016-04-05 10 views
4

私はちょうど角度2を使い始めています。実際には、こんにちは世界のページのサイズについて考えています。角2ページサイズ

実際に必要とされたスクリプトを見てください。すでに1.75 MBです。縮小とOffcourse

enter image description here

それは約30から35までパーセントを減少させるであろう。

しかし、このジャンクのHello Worldタイプのアプリケーションの場合は1 MBを超えることがあります。最低限のブートストラップCSS/Jquery/Jquery UIを追加すると、Webアプリケーションのタイプに応じて画像を追加したり、追加することもできます。

質問はアプリケーションに関連する1行のコードを記述しないで1.75 MBのスクリプトです。

ページサイズを平均で4〜5MBにするための新しいWeb標準ですか?

+0

http://stackoverflow.com/questions/35539622/how-to-deploy-angular-2-apps/35563542#35563542 –

+2

私の目には見えません。 –

+2

これらのバンドルをprodで使用することは想定されていません。コードをバンドルする必要があります。例えば、[こちらで](https://twitter.com/mgechev/status/715476673454411778)を見てください –

答えて

2

サイトの合計サイズを縮小するいくつかの戦略があります。

  1. アセットのgzip圧縮を有効にします。ほとんどのテキストファイル(JSファイルのような)は、繰り返されるたくさんの文字列のために非常によく圧縮されます。
  2. あなたが特定したように、ライブラリの最小化バージョンを使用してください。
  3. 可能であれば、第三者のライブラリへのCDN参照を使用してください。このようにして、ユーザーはすでにファイルをキャッシュに入れておき、再フェッチする必要はありません。一部のCDNはHTTP/2もサポートしています。つまり、より多くのファイルを並行して要求できます。
  4. Angular 2 RC 5でAhead-Of-Timeコンパイル(AOT、a.k.aオフラインコンパイル)を利用し、コンパイラなしでAngular 2のバージョンを使用します。これは、Angular 2ライブラリファイルのサイズの約半分を節約します。
  5. アセットにはHTTP/2を使用し、バンドルするのではなく個々のJSファイルを個別に参照してください。そうすれば、変更されていない場合、ユーザーはリロード時に再度ダウンロードする必要はありません。そして、初めて、すべてのファイルを並行してフェッチすることができます。
  6. IEなどの特定のブラウザにのみ関連するシムやその他のJSファイルを削除するには、条件付きコメントまたはサーバー側の処理を使用します。そうすれば、他のブラウザはそれらの役に立たないスクリプトをダウンロードしません。
  7. Rollupなどのツールを使用するか、「ツリーシェイク」を使用して未使用のコードを削除することもできます。

さらに多くの方法で保存することができますが、これは良い出発点です。

1

Angular2は小さくなります。 ngconf about thisを参照してください。その主な結果は木の揺れのミニ化(実際に使用されているコードをロードする)です。

Angular 2 seed projectであり、約300kbの負荷がすでに利用可能である。