2016-11-20 2 views
2

У меня есть страница A.js и страница B.js и для нее базовый класс base.js. I import base.js для каждого А и В, и использовать его в качестве extend для класса А и В.Webpack, загрузчик пакетов и общий выпуск плагина chunk

Мой маршрутизатор загружает эти страницы с помощью require('bundle!pages' + url + '.js'); Я хотел бы иметь base.js как часть одного common.js , Я добавил общий кусок плагина в webpack new webpack.optimize.CommonsChunkPlugin({ children: true, name: 'common', filename: 'common.js', minChunks: 2, }) , но в качестве вывода я все еще дублировал base.js в классе a.js и b.js. Есть ли проблема с загрузчиком пакетов и общим плагином кусков?

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