2017-05-14 27 views
1

在我已經獲得的一個項目中,我有一個main.js文件,該文件在整個網站上共享,這就是爲什麼他們在其中包含外部依賴關係bootstrap.js如何將庫移動到webpack 2.0中的供應商軟件包

main.js

window.jQuery = window.$ = require('jquery'); 

$(document).ready(function() { 
    require('./components/menu')(); 
    //other components 
}); 

require('./thirdparty/bootstrap'); 
require('./components/spinner'); 

./thirdparty/bootstrap

// import '../../../../../../../node_modules/bootstrap/js/src/alert'; 
// import '../../../../../../../node_modules/bootstrap/js/src/button'; 
import '../../../../../../../node_modules/bootstrap/js/src/carousel'; 
import '../../../../../../../node_modules/bootstrap/js/src/collapse'; 
// import '../../../../../../../node_modules/bootstrap/js/src/dropdown'; 
import '../../../../../../../node_modules/bootstrap/js/src/modal'; 
// import '../../../../../../../node_modules/bootstrap/js/src/popover'; 
import '../../../../../../../node_modules/bootstrap/js/src/scrollspy'; 
import '../../../../../../../node_modules/bootstrap/js/src/tab'; 
// import '../../../../../../../node_modules/bootstrap/js/src/tooltip'; 

我想設置的WebPack這個項目&要移動此供應商的依賴,即引導成單獨的塊,因爲它不會經常更改。 所以,我說像下面

module.exports = [{ 
    name: 'js', 
    entry: { 
     main : './src/main.js', 
     vendor : ['jquery', 'bootstrap'] 
     //other entries 
    }, 
    output: { 
     path: './dist', 
     filename: '[name].js' 
    }, 
    module: { 
     loaders: [ /*loaders like babel */ ] 
    }, 
    plugins: [ 
     new webpack.optimize.CommonsChunkPlugin({ 
      name: 'vendor', 
      minChunks: Infinity, 
      filename: '[name].[chunkhash].js' 
     }), 
    ] 
}]; 

當我運行的WebPack建設構建產生細&我的項目的作品,但我在2個不同的數據塊已經引導複製在main.js & vendor.js即一個新的「供應商」條目。

我認爲通過在供應商中聲明bootstrap,webpack選擇了bootstrap node_modules並將其包含在vendor.js中。

現在,我所需的webpack輸出只是將存在於./thirdparty/bootstrap js文件中的引導程序組件移動到供應商塊。

有沒有可能這樣做?

回答

0

我通過指定供應商所需的確切依賴關係來解決這個問題。

['jquery', './node_modules/bootstrap/js/src/carousel.js', 
'./node_modules/bootstrap/js/src/collapse.js', './node_modules/bootstrap/js/src/modal.js', 
'./node_modules/bootstrap/js/src/scrollspy.js', './node_modules/bootstrap/js/src/tab.js' 
]; 

在指定了確切的引導程序js之後,我需要解決雙重問題。

相關問題