建てのサイズを小さくするには、最初で唯一のgzip
ファイルをご覧ください。 Webサーバーをうまく設定すると、これらのファイルだけが提供されます。あなたはあなたのindex.html
をgzipして、それを提供することもできます。ほとんどのウェブサーバー(たとえばnginx)には、静的なgzipファイルを読み込む機能があります。これを有効にするには、あなたのnginxの設定でこれを置く:
gzip on;
gzip_static on;
Apacheは静的のgzipファイルをロードするために同様のモジュールを持っています。
すべての一般的なウェブサーバーには、少なくとも動的なgzipファイルを提供するオプションがあります。つまり、ファイルがWebサーバーから要求されると、ファイルは転送中に圧縮されます。これは、ビルドフォルダに表示される、生成されたgzipファイルのサイズとほぼ同じです。
さらにアプリケーションを小さくするには、aot
のコンパイルを使用することをお勧めします。これはツリーシェイキングも使用します。これを有効にするには、およびアプリケーションが、本番環境を使用して構築構築するために、このコマンドを使用して取得することを確認するために:私は予告をした私のビルドで
ng build -e=prod --prod --no-sourcemap --aot
を、私は、ファイルをgzip圧縮された場合、自分は例えば7zip
を使用していること、および設定最高の圧縮率で、ファイルサイズはさらに縮小されました。ただし、クライアント側でこれらのファイルを解凍すると圧縮されていないファイルよりも多くのCPUが使用されますが、最近のCPUではこの違いを無視することができます。
コンパイルされたベンダースクリプトの中にたくさんのコメントブロック(@license)があります.Jsファイルを別のラウンドで実行して、それらを取り除き、それらの1つを再度vendor.js
更新
あなたが他の質問でアプリサイズは100キロバイト<に下って行ったことに言及。あなたはすでにそれがあります。js.gz
ファイルを見なければなりません。これは普通のjsファイルではなく、コンパイルされた/圧縮されたアプリケーションです。あなたが参照している50kbは、彼らのための道路地図上にあります。私の知る限り、彼らは別のアーカイブ方式との組み合わせで、独自の閉鎖コンパイラを実装しているため、彼らは閉鎖コンパイラは、JavaScriptのダウンロードを行うためのツールです(brotli)、20キロバイトにさらに低いファイルサイズを取得するために
を管理覚えていますより速く走ってください。ソース言語からマシンコードにコンパイルする代わりに、JavaScriptからより良いJavaScriptにコンパイルします。 JavaScriptを解析し、分析し、デッドコードを取り除き、残っているものを書き換えて最小化します。また、シンタックス、変数参照、およびタイプをチェックし、一般的なJavaScriptの落とし穴について警告します。
これは、パッケージ実装をangular-cli
の中に隠した理由です。別の建物に変更してツールをコンパイルすることは、人々のアプリケーションをいじることなく、実装する方がはるかに簡単です。それはしばらくするだろうし、たとえそれを実装しようとしているとしても。今のところ、私は100kb
があなたにあまりにも多くを与えているフレームワークのためのかなりまともなサイズだと言う:
素晴らしい解決策。更新された質問をご覧ください。 – user172902
@ user172902更新された私の答え – PierreDuc
ちょっと仲間、ありがとう。最後の1つの質問。それは、そのフォルダ内のすべてのファイルをアップロードする必要はありません(451kbなど)?私はそれを試して、それは動作していないようですか? – user172902