假如项目是多页面的,有公共的引用,例如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']);
请问有更好的办法吗?
用new CommonsChunkPlugin('common',"commons.js", Infinity);试试
楼主解决了吗
CommonChunkPlugin需要加上minChunks属性,minChunks是指一个文件至少被require几次才会被放到CommonChunk里,如果minChunks等于2,说明一个文件至少被require两次才能放在CommonChunk里。
上面情况可以这样配置:
new CommonsChunkPlugin({
name: "common",
minChunks: 2
});