2016-06-13 13 views
8

Her ikisi de 'uygulama' ve 'satıcı' paketlerine ayrılan iki bağımsız uygulama bölümüm var.Webpack: CommonsChunkPlugin birden fazla bölmeli grup ile nasıl kullanılır?

WebPack girişleri:

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') 
}, 

Ve eklentileri:

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 
    }) 
] 

sadece 'müşteri uygulama içi' ve 'müşteri satıcı' veya 'yönetici-app' ve 'Yönetici-satıcı' ve ile

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) 
: tek CommonsChunkPlugin o 2 demetleri (yaklaşık & satıcı) oluşturur, ancak bu çiftleri ile bu hata ile başarısız mükemmel çalışır

Nasıl yapabilirim?

cevap

4

Aynı gereksinimi aldım ve bu yapılandırmayı ikiye bölerek ve bir diziyle module.exports sağlayarak çözdüm.

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

Teşekkürler! İşe yarıyor! – unclechu

İlgili konular