2016-06-13 127 views
8

我有兩個獨立的應用程序部分,分爲'app'和'vendor'包。Webpack:如何將CommonsChunkPlugin與多個拆分包結合使用

的WebPack條目:

entry: { 
    'client-app': path.join(BASE_DIR, 'front-end-sources', 'client', 'scripts', 'main.ls'), 
    'client-vendor': path.join(BASE_DIR, 'front-end-sources', 'client', 'scripts', 'vendor.ls'), 
    'admin-app': path.join(BASE_DIR, 'front-end-sources', 'admin', 'scripts', 'main.ls'), 
    'admin-vendor': path.join(BASE_DIR, 'front-end-sources', 'admin', 'scripts', 'vendor.ls') 
}, 

和插件:

plugins: [ 
    new ExtractTextPlugin('[name].bundle.css'), 
    new webpack.optimize.CommonsChunkPlugin({ 
     names: ['client-app', 'client-vendor'], 
     minChunks: Infinity 
    }), 
    new webpack.optimize.CommonsChunkPlugin({ 
     names: ['admin-app', 'admin-vendor'], 
     minChunks: Infinity 
    }) 
] 

只需「客戶端應用程序」和「客戶端 - 供應商」或「管理 - 應用程序」和「管理供應商」和單CommonsChunkPlugin它工作完美,它生成2束(應用&廠商),但是與此對它失敗,錯誤:

ERROR in CommonsChunkPlugin: While running in normal mode it's not allowed to use a non-entry chunk (admin-app) 
ERROR in CommonsChunkPlugin: While running in normal mode it's not allowed to use a non-entry chunk (admin-vendor) 

我該怎麼做對不對?

回答

4

我有相同的要求,並通過將配置拆分爲兩個併爲數組提供module.exports來解決它。

module.exports = [{ 
    entry: { 
     'client-app': path.join(BASE_DIR, 'front-end-sources', 'client', 'scripts', 'main.ls'), 
     'client-vendor': path.join(BASE_DIR, 'front-end-sources', 'client', 'scripts', 'vendor.ls') 
    }, 
    ... 
    plugins: [ 
     new ExtractTextPlugin('[name].bundle.css'), 
     new webpack.optimize.CommonsChunkPlugin({ 
      names: ['client-app', 'client-vendor'], 
      minChunks: Infinity 
     }) 
    ] 
}, 
{ 
    entry: { 
     'admin-app': path.join(BASE_DIR, 'front-end-sources', 'admin', 'scripts', 'main.ls'), 
     'admin-vendor': path.join(BASE_DIR, 'front-end-sources', 'admin', 'scripts', 'vendor.ls') 
    }, 
    ... 
    plugins: [ 
     new ExtractTextPlugin('[name].bundle.css'), 
     new webpack.optimize.CommonsChunkPlugin({ 
      names: ['admin-app', 'admin-vendor'], 
      minChunks: Infinity 
     }) 
    ] 

}] 
+0

謝謝!有用! – unclechu

相關問題