Webpack,捆绑加载器和常见的块插件问题

时间:2016-11-20 14:02:45

标签: javascript build module webpack bundle

我有一个页面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));

1 个答案:

答案 0 :(得分:0)

试试这个:  在webpack.config.js中,将此属性添加到导出对象

externals: { 'base': 'Base' }

并将其包含在您的html标题

我认为该功能来自webpack 2