2016-12-13 9 views
0

I成分がある場合 - コンポーネントA - のような輸入品を有する:rxjsモジュラー輸入バンドルサイズ(webpack2/angular2 CLI)

import { Observable } from 'rxjs/Observable'; 
import 'rxjs/add/operator/map'; 

を、私は別の成分を有する - 成分Bを - と

import { Observable } from 'rxjs/Observable'; 
import 'rxjs/add/operator/map'; 

をそして私はCLI輸入をデ重複しますng build --prodを使用して構築するか、私は私のバンドルで各インポートの2倍のコピーを持っています:輸入を複製?さらに、--aotオプションは影響を及ぼしますか?あなたがわからない場合、私はこれをどのようにテストすることができるかに関する提案をしていますか?

+1

ES6モジュールのインポートは設計上重複していません。異なるNPMパッケージの依存バージョンの制限や偶発的な重複した依存関係( 'npm dedupe 'で修正可能)があると、バンドルごとに複数のパッケージコピーが作成されるというシナリオがあります。しかし、コンポーネントAとBが同じパッケージに属している場合はそうではありません。いずれにしても、Webpackバンドルのコンテンツはhttps://github.com/webpack/webpack/issues/690で調べることができます – estus

答えて

1

絶対にありません。 ng build --prodは、バックグラウンドでWebpack module bundlingシステムを使用してファイルをバンドルします。 Webpackはインテリジェントなので、インポートを複製できません。

--aotオプションを使用すると、最適です。 Angular AOT Compilationを使用してファイルをバンドルします。すなわちAhead of Time Compilationは、クライアントに提供される前の角度ファイルのコンパイルを意味するだけであり、これにより、ロード時間が長くなる編集フェーズが省略される。ここでは説明するためのより良い記事ですAngular AOT