2017-01-07 5 views
0

Webpackのスーパークラスを拡張するサブクラスに問題があります。Webpackのインポートモジュールからの継承

私のスーパークラス:コア/ Main.js

class Main { 
    constructor() { 
     console.log('Main Class Initialized'); 
    } 
} 

module.exports = Main; 

サブクラス:アプリ/ Launch.js

var Main = require('core/Main.js'); 
class Launch extends Main { 

    constructor() { 
     console.log('Before Super') 
     super(); 
     console.log('Launch Class Initialized') 
    } 
} 

私はアプリ/ Launch.jsの内部console.log(Main)は、ログに記録し、それを提出した場合Mainと 'Before Super'もログに記録されますが、super()を呼び出すと、それが壊れてしまいます。理由はわかりません。

How to achieve inheritance in ES6 with “webpack module bundler”?は役に立ちませんでした。 export class Main {}の場合はmodule.exportsimport {Main} from 'core/Main.js'の場合はrequire('core/Main.js')を交換しましたが、動作しませんでした。 webpack 1.14.0を使用しています。

+0

継承はwebpackとは関係ありません。あなたの質問は、実際には "どうやってwebpackを使って正しくモジュールをインポートするのですか?" –

答えて

0

これが表示されます。私はMain.jsapp/にコピーしました。今はうまく動作しますが、なぜそれが違いになったのか分かりません。

+0

プロジェクトの構造は分かりませんが、アプリケーションとコアのフォルダが同じレベルにある場合、Launch.jsファイルでMain.jsを要求するために使用しているパスは間違っています。 '../core /Main.js ' –

+0

構造はsrc/appとsrc/coreです。私はrequire( 'app/file')require( 'core/file')を呼び出すことができるように、configのコンテキストをsrcに設定します。これはコンテキストがプロジェクト内の他のすべてに対して機能しますが、 src/coreの場合 –