2017-02-24 4 views
2

Webpack 2に関する質問/解説CommonsChunkPluginに関連しています。Webpack 2 CommonsChunkPluginベンダーバンドル

{ 
    entry: { 
     app: './src/app.ts', 
     vendor: ['some-third-party-lib', 'another-third-party-lib'] 
    }, 
    output: { 
     path: path.resolve(__dirname, 'dist'), 
     filename: '[name].js' 
    }, 
    plugins: [ 
     new webpack.optimize.CommonsChunkPlugin({ 
      name: 'vendor', 
      minChunks: Infinity 
     }) ] 
} 

私はそれを理解し、CommonsChunkPluginは別々のバンドルにエントリポイントの間で共有される共通のコードを勃発。上記のスニペットでは、「私のエントリーポイント「app」と「vendor」の間にすべての共有コードを与えて、vendorチャンク/ファイルに入れてください。は、1つのファイル(vendor.js)に入ります。vendorはエントリポイントと共有チャンクの両方であるため、結果的にサードパーティのすべてのライブラリが終了します。私はこれを正しく理解していますか?

+0

はい、正しく!より理解を深めるには、[Webpackガイド](https://webpack.js.org/guides/)を参照してください。 –

+0

ええ、ウェブパックのガイドは私がこの設定に入るのを助けましたが、少しIMOのドットを結びつけていませんでした。確認していただきありがとうございます。 – bingles

答えて

0

文書によると、CommonsChunkPluginからminChunksオプションは、次のように設定します。

それはコモンズチャンクに移動される前のモジュールが含まれている必要があるチャンクの最小数を。

Infinityを渡すと、commonsチャンクが作成されますが、モジュールはその中に移動されません。

SRC:あなたの例ではhttps://webpack.js.org/plugins/commons-chunk-plugin/#options

CommonsChunkPluginだけvendorエントリポイントで指定されたチャンクを引き出してしまうと、それが自動的に他の共有チャンクを検出しないでしょう。 オプションが削除された場合、プラグインはすべてのエントリポイントで参照されるチャンクを自動的にインクルードします。この場合、エントリポイントは2つしかないので、違いはありません。

関連する問題