2017-11-12 23 views
1

イム最終的なapp.bundle.js。それを実行するとき私は得る:"Uncaught ReferenceError: BaseC is not defined"。これは、クラスの残りの部分の前にapp.bundle.jsで最初に定義されているように見えるので、私にとって非常に奇妙です。
バンドルのjsファイル未定義

var BaseC = function() { 
    function BaseC() { 
     _classCallCheck(this, BaseC); 
    } 

    _createClass(BaseC, [{ 
     key: "doIt", 
     value: function doIt() { 
      console.log(this); 
     } 
    }]); 

    return BaseC; 
}(); 

手がかりはありますか?

P.S:必須/インポートシステムを使用していません。私はこれがwebpackの通常の使用方法ですが、globモジュールを使ってwebpackにバンドルしたいすべてのjsファイルを配列として提供しています。

+2

あなたはa.js'ファイル '*にBaseC *クラスをエクスポートし、それをインポートしています'b.js'? –

+0

お返事ありがとうございます。 kristapsは同じことを言いましたが、エクスポート/インポートの作業があっても、app.bundle.jsファイルで既に定義されているようにしなくても動作しなければなりません。 - George Avgoustisは今すぐ編集します –

+0

これはコンテキスト。 'BaseC'はファイル' a.js'のコンテキストに存在しますが、 'b.js'には存在しません。 'b.js 'が' BaseC'を使用するためには、それをインポートする必要があります。下のkristapsの答えに従ってください。 – sanjsanj

答えて

1

がa.jsからクラスをエクスポートしてみてください。 export class BaseC { ...

とb.jsにインポート: import {BaseC} from './a.js' ...

+0

これは、エクスポート/インポートが機能していても、app.bundle.jsファイルで既に定義されているので、これを行う必要はありません –

関連する問題