2016-04-12 43 views
1

'da birden çok giriş noktası çağırın İstemci tarafındaki web uygulamasını yönetmek için webkripti ve babeli ile web paketi kullanıyorum.Webpack

3. parti komut dosyaları için bir vendor.js dosyası, bir main.js dosyası ve bir sayfa için belirli işlevler sağlamak için gerektiğinde yükleyebileceğim sayfa komut dosyalarına sahip olmak istiyorum.

Tüm komut dosyaları beklediğim gibi derleniyor, ancak yalnızca vendor.js dosyasının aslında çağrılıyor. Diğerleri derlenmiş, ama asla çağrılmadı.

Benim webpack.config.js dosyamda.

'use strict'; 

let webpack = require('webpack'); 

module.exports = { 
    entry: { 
    main: './assets/js/main.ts', 
    "single-page": './assets/js/src/new-loan.ts', 
    vendor: [ 
     "svg4everybody" 
    ] 
    }, 
    output: { 
    filename: './public/assets/js/[name].js' 
    }, 
    resolve: { 
    extensions: ['', '.webpack.js', '.web.js', '.ts', '.js'] 
    }, 
    plugins: [ 
    new webpack.optimize.CommonsChunkPlugin({ 
     name: "vendor", 
     minChunks: Infinity 
    }) 
    ], 
    module: { 
    loaders: [{ 
     test: /\.ts(x?)$/, 
     loader: 'babel-loader!ts-loader', 
     exclude: /node_modules/ 
    }] 
    } 
} 

Ayrıca, sayfalara özgü dosyalardan birinin bir örneği. İdeal olarak, bu dosya yüklendiğinde sayfadaki bir alert bildirimini tetikler.

webpackJsonp([1],[ 
/* 0 */ 
/***/ function(module, exports) { 

    'use strict'; 

    alert('test'); 

/***/ } 
]); 

neden/uyarı (modül işlevi çağrılır asla) tetiklemiyordur/görebilirsiniz, ama ben o istiyorum nasıl işe WebPack nasıl yapılandırılacağı bilemiyorum.

Yardım için teşekkürler.

+0

Diğerlerini içe aktaran tek bir girdi oluşturmaya ne dersiniz? –

+0

Her sayfada her şeyi yüklemek istemiyorum. – jdp

cevap

1

CommonsChunkPlugin, yapılandırmanızda vendor paketinin üzerine yazdığını buldum. CommonsChunkPlugin'un değerini vendor'dan değiştirmeyi deneyin ve tüm dosyalarınızdan önce tüm dosyalarınıza common paketini dahil edin. CommonsChunkPlugin'u kullanırsanız, yalnızca ortak paket çekirdek web paketi modülü yükleyici yardımcı işlevlerini içerir, bu nedenle her sayfaya yerleştirilmelidir.

new webpack.optimize.CommonsChunkPlugin({ 
    name: "common", 
    minChunks: Infinity 
})