2017-02-20 7 views
1

のでcode splittingを述べることなく、ベンダーのチャンクでnode_modulesを使用すると、別のバンドルを作成するための技術である - 私は私が私のvendorバンドルにしたいだけ慣習によって何を知っているので、アプリ、ベンダー等...WebPACKを明示的に

.. 。

何でもこれらは、(私は彼らがいると思う)ので、明らかnode_modulesから、vendorにする必要があり

import x from 'name'; 
import 'name'; 

しかし、私はこれを明示した例しか見ていません。

規約を使用する方法はありますか?

もしそうでなければ、これを行うためのプラグインをビルドできますか(このプラグインはあなたの依存関係セクションpackage.jsonに入ります)。

const pkg = require('./package.json');

とあなたのコンフィギュレーションで:

{ 
    entry: { 
     vendor: Object.keys(pkg.dependencies) // use node_module dependencies 
    }, 
    plugins: [ 
    new webpack.optimize.CommonsChunkPlugin({ 
     name: "vendor" 
    }) 
    ] 
} 

EDIT: それを行うには良い方法があるようだあなたは何ができるか

答えて

3

はこれです。 CommonsChunkPluginプラグインでminChunksプロパティを使用できます。あなたのような、そこに関数を渡すことができます:あなたはpackage.jsonリストとのWebPACKに頼る必要がない、ということにすれば

plugins: [ 
    new webpack.optimize.CommonsChunkPlugin({ 
     name: "vendor", 
     minChunks: ({ resource }) => { 
      return resource && resource.match(/\.js$/) && resource.indexOf('node_modules') >= 0; 
     } 
    }) 
] 

は、プロジェクトで使用される唯一の依存関係を考慮します。きちんとした

+0

これを行うにはちょっと奇妙だと感じますが、私のことではうまくいきます:) –

+0

@CallumLiningtonは私の更新された答えをチェックします。 –