2017-08-10 12 views
0

私は2つの部分に分割したいブラウザアプリケーション用のプロジェクトを持っています。 は、最小限の例として、私が持っている./coreであることを想像:除外モジュール(ES6)からインポートするには?

// core.js 
import SuperClass from "../core/SuperClass";  
export {SuperClass}; 

// SuperClass.js 
class SuperClass 
{ 
    constructor() 
    { 
     console.log('SuperClass constructor'); 
    } 
} 
export default SuperClass 

とディレクトリ./gameが

//game.js 
import SuperClass from "../core/SuperClass"; 
console.log(SuperClass); 

を持っている私は、エントリポイントとしてgame.jsでビルドした場合、すべてがすべての依存関係として罰金ですバンドルに入る。私は./coreから(browserifyの機能を除外する使用して)ファイルを除外し、とgame.js前に、負荷を別々のバンドルを作る場合

しかし、:

<script src="scripts/core.js"></script> 
<script src="scripts/game.js"></script> 

私が取得:不明なエラーを:game.jsから '../core/SuperClass'モジュールを見つけることができません

これらの依存関係を実行時にgame.jsに提供する方法は何ですか?私のビルドプロセスはgulpを使用し、babelifyしてブラウジングします。

+0

なぜアプリケーションを2つの別々のバンドルに分割したいのですか? – adrice727

+0

多くのアプリで読み込まれた1つのファイルに共通のコードが必要です。異なるアプリケーション固有のコードがあります。 –

答えて

1

コードの前に配置された<script>タグを使用してコードを追加する場合は、グローバル変数/クラス/ライブラリとして既に存在するため、インポートする必要はありません。たとえば、ファイルをHTMLファイルに置いたときに、$が遍在することがわかったとしたら、

+0

ありがとう、これは必要なだけうまくいくようです。私は、すべてをインポートしなければならないという考えに固執していました。また、私はJSに新しいですが、明白かもしれません:)誰かがこれに遭遇するならば、あなたはまた、これを動作させるためにbrowserifyのスタンドアロンオプションを使う必要があります –

関連する問題