2016-11-20 5 views
2

私はページA.jsとページB.jsを持っており、そのための基本クラスbase.jsを持っています。それぞれAとBのための I import base.jsと私は1 common.jsの一部としてbase.jsがしたいWebpack、バンドルローダー、共通チャンクプラグインの問題

私のルータがrequire('bundle!pages' + url + '.js'); を経由して、それらのページをロードするクラスAのためのextendおよびBとしてそれを使用します。 webpackに共通のチャンクプラグインを追加しました new webpack.optimize.CommonsChunkPlugin({ children: true, name: 'common', filename: 'common.js', minChunks: 2, }) 出力として、まだクラスa.jsとb.jsにbase.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

から同じだと思い、あなたのHTMLヘッダー

でこれを含めますここの問題は、どのような解決策ですか? –

答えて

0

T RYこの:webpack.config.jsで が

externals: { 'base': 'Base' } 

エクスポートするオブジェクトにこのプロパティを追加し、私は機能がWebPACKの2