2017-05-14 39 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之后,我需要解决双重问题。

相关问题