关于webpack,CommonsChunkPlugin无效,重复引用的问题。

假如项目是多页面的,有公共的引用,例如jquery,伪代码如下。

javascript// A.js
var $ = require('./jquery.js');
console.log('A');

//B.js
var $ = require('./jquery.js');
console.log('B');

//C.js  这里没用到jquery
console.log('C');

然后打包的时候遇到的问题

/** webpack.config.js 节选 **/

// 这样写,A.js 和 B.js 各自都合并进了jquery,重复了。
new CommonsChunkPlugin("commons.js");

// 这样写,实现了需求,但是要手动配置不是很麻烦吗?
new CommonsChunkPlugin("commons.js", ['a', 'b']); 

请问有更好的办法吗?

阅读 15.4k
4 个回答

CommonChunkPlugin需要加上minChunks属性,minChunks是指一个文件至少被require几次才会被放到CommonChunk里,如果minChunks等于2,说明一个文件至少被require两次才能放在CommonChunk里。
上面情况可以这样配置:

new CommonsChunkPlugin({
        name: "common",
        minChunks: 2
   });

楼主解决了吗

新手上路,请多包涵

用new CommonsChunkPlugin('common',"commons.js", Infinity);试试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进