2017-08-09 100 views
0

試圖創造的WebPack 2個供應商捆綁,當我跑服務器將最終的腳本發生此錯誤:多的WebPack廠商捆綁

vendor1.369f8f5….js:1 Uncaught TypeError: Cannot read property 'call' of undefined 
    at t (vendor1.369f8f5….js:1) 
    at Object.<anonymous> (main.369f8f5….js:1) 
    at Object.<anonymous> (main.369f8f5….js:1) 
    at t (vendor1.369f8f5….js:1) 
    at Object.<anonymous> (main.369f8f5….js:6) 
    at t (vendor1.369f8f5….js:1) 
    at window.webpackJsonp (vendor1.369f8f5….js:1) 
    at window.webpackJsonp (vendor2.369f8f5….js:1) 
    at main.369f8f5….js:1 

這是我webpack.config:

entry: { 
    /* Material Design Lite (https://getmdl.io) */ 
    // '!!style-loader!css-loader!react-mdl/extra/material.min.css', 
    // 'react-mdl/extra/material.min.js', 
    /* The main entry point of your JavaScript application */ 
    main:'./main.js', 
    vendor1:['react','router','mixpanel-browser','react-dom','preact','preact-compat'], 
    vendor2:['core-js','fastclick','whatwg-fetch','axios',], 
    // vendor3:['core-js'], 
    // vendor4:['mixpanel-browser'], 
    }, 

.. ...

new webpack.optimize.CommonsChunkPlugin({ 
    name: "vendor1", 
    chunks:['main'], 
    minChunks:Infinity, 
}), 
new webpack.optimize.CommonsChunkPlugin({ 
    name: "vendor2", 
    chunks:['main'], 
    minChunks:Infinity, 
}), 

我可以成功創建這三個捆綁包,但在服務器上運行時無法工作。 enter image description here

當我只有一個供應商和一個主包時,這很好。但是,我無法爲較小的文件大小創建第二個供應商捆綁軟件。已經在網上搜索解決方案,但沒有任何工作。也許它與我的語法有關?

+0

是否找到任何解決方案? – ArtemSky

+0

@ArtemSky nope。我不得不與兩個捆綁到底,不能分割更多。 – whales

回答

0

我不知道我的解決方案將工作或不...

你會嘗試使用單webpack.optimize.CommonsChunkPlugin兩個vendor1vendor2

new webpack.optimize.CommonsChunkPlugin({ 
    name: ["vendor1","vendor2"], 
    chunks:['main'], 
    minChunks:Infinity, 
}), 
+0

如果我這樣做,主包不會排除供應商模塊。所以它不會達到通過捆綁包重複模塊減小文件大小的目的。謝謝雖然:)我已經從字面上嘗試了所有不同的組合 – whales