私は初期化されたシンプルなアプリを持っています angular-cli
。
3つのルートに関連するいくつかのページを表示します。3つのコンポーネントがあります。このページのIの使用のいずれかにlodash
いくつかのデータを取得するために、角2 HTTPモジュール(RxJS使用してObservable
Sを、map
とsubscribe
)。単純なを使用してこれらの要素を表示します*ngFor
。
しかし、私のアプリは本当にシンプルであるにもかかわらず、私は(私の意見では)巨大なバンドルパッケージとマップを取得しています。私はgzipのバージョンについては話しませんが、gzipする前のサイズです。この質問は、一般的な推奨事項の問い合わせです。
一部のテスト結果:
ビルド
ハッシュ:8efac7d6208adb8641c1時間:10129msチャンク{0} main.bundle.js、main.bundle.map(main)18.7 kB {3} [初期] [レンダリング]
チャンク{1} styles.bundle.css、styles.bundle.map、styles.bundle.map(styles)155 kB {4} [初期] [レンダリング]
チャンク{2} scripts.bundle.js、scripts.bundle.map(scripts)128 kB {4} [初期] [レンダリング]
チャンク{3} vendor.bundle.js、vendor.bundle.map(vendor)3.96 MB [初期] [レンダリング]
チャンク{4} inline.bundle.js、inline.bundle.map(inline)0バイト[エントリ] [レンダリング]
待つ:そのような単純なアプリ用の10Mbベンダーバンドルパッケージ?
ng build --prod
ハッシュ:09a5f095e33b2980e7cc時間:23455ミリ秒のチャンク{0} main.6273b0f04a07a1c2ad6c.bundle.js、main.6273b0f04a07a1c2ad6c.bundle.map(main)18.3 kB {3} [初期] [レンダリング]
チャンク{1} styles.bfdaa4d8a4eb2d0cb019.bundle.css、styles.bfdaa4d8a4eb2d0cb019.bundle.map、styles.bfdaa4d8a4eb2d0cb019.bundle.map(styles)154 kB {4} [初期]
チャンク{2} scripts.c5b720a078e5464ec211.bundle.js、scripts.c5b720a078e5464ec211.bundle.map(scripts)128 kB {4} [初期] [レンダリング]
チャンク{3} vendor.07af2467307e17d85438.bundle.js、vendor.07af2467307e17d85438.bundle.map(vendor)3.96 MB [初期] [レンダリング]
チャンク{4} inline.a345391d459797f81820.bundle.js、inline.a345391d459797f81820.bundle.map(inline)0バイト[エントリ] [レンダリング]
もう一度待ってください。製品のこのような同様のベンダーバンドルサイズですか?
ng build --prod --aot
ハッシュ:517e4425ff872bbe3e5b時間:22856ミリ秒のチャンク{0} main.95eadabace554e3c2b43.bundle.js、main.95eadabace554e3c2b43.bundle.map(main)130 kB {3} [初期] [レンダリング]
チャンク{1} styles.e53a388ae1dd2b7f5434.bundle.css、styles.e53a388ae1dd2b7f5434.bundle.map、styles.e53a388ae1dd2b7f5434.bundle.map(styles)154 kB {4} [初期] [レンダリング]
チャンク{2} scripts.e5c2c90547f3168a7564.bundle.js、scripts.e5c2c90547f3168a7564.bundle.map(scripts)128 kB {4} [初期] [レンダリング]
チャンク{3} vendor.41a6c1f57136df286f14.bundle.js、vendor.41a6c1f57136df286f14.bundle.map(vendor)2.75 MB [初期] [レンダリング]
チャンク{4} inline.97c0403c57a46c6a7920.bundle.js、inline.97c0403c57a46c6a7920.bundle.map(インライン)0バイト[エントリ] [レンダリング]
ng build --aot
ハッシュ:040cc91df4df5ffc3c3f時間:11011ミリ秒のチャンク{0} main.bundle.js、main.bundle.map(main)130 kB {3} [初期] [レンダリング]
チャンク{1} styles.bundle.css、styles.bundle.map、styles.bundle.map(styles)155 kB {4} [初期] [レンダリング]
チャンク{2} scripts.bundle.js、scripts.bundle.map(scripts)128 kB {4} [初期] [レンダリング]
チャンク{3} vendor.bundle.js、vendor.bundle.map(vendor)2.75 MB [初期] [レンダリング]
チャンク{4} inline.bundle.js、inline.bundle.map(inline)0バイト[エントリ] [レンダリング]
だから、私のアプリを製品版にデプロイするためのいくつかの質問:
- ベンダーバンドルがなぜそれほど巨大なのですか?
- 木の揺れはによって適切に使用されてい
angular-cli
ますか? - このバンドルサイズを改善するにはどうすればよいですか?
- .mapファイルは必要ですか?
- テスト機能はバンドルに含まれていますか?私はそれらを製品に必要としません。
- 一般的な質問:本番用にパックするために推奨されるツールは何ですか?多分
angular-cli
(バックグラウンドでWebpackを使用する)は最良のオプションではありませんか?もっと上手くできる?
Stack Overflowで多くのディスカッションを検索しましたが、一般的な質問は見つかりませんでした。