我有一个页面A.js和一个页面B.js并且有基类base.js。
我为每个A和B import
base.js,并将其用作{A}和B类的extend
。
我的路由器通过require('bundle!pages' + url + '.js');
加载这些网页
我想将base.js作为一个common.js的一部分。
我在webpack中添加了常见的chunk插件
new webpack.optimize.CommonsChunkPlugin({
children: true,
name: 'common',
filename: 'common.js',
minChunks: 2,
})
但作为输出,我仍然在类a.js和b.js中复制了base.js.
bundle loader和common chunk插件有什么问题吗?
a.js
import Base from '../base';
class A extends Base {
constructor() {
super();
}
create() {}
}
export default A;
b.js
import Base from '../base';
class B extends Base {
constructor() {
super();
}
create() {}
}
export default B;
base.js
class Base {
constructor() {}
}
export default Base;
router.js
let loader = require('bundle!pages' + url + '.js');
loader((module) => callback(module.default));
答案 0 :(得分:0)
试试这个: 在webpack.config.js中,将此属性添加到导出对象
externals: { 'base': 'Base' }
并将其包含在您的html标题
中我认为该功能来自webpack 2