2016-03-23 9 views
1

私はMeteor/Nodeアプリケーション用のモジュールベースのアーキテクチャをまとめようとしています。ES6モジュール:以前にエクスポートされたモジュールが「子」モジュールで認識されないのはなぜですか?

をインポートしてclient/main.jsを持っています。

imports/module1/index.jsは、コンポーネントimports/module1/component/component1.jsをインポートした後にimports/module1/api/api.jsをインポートします。

それを要約すると、簡略化され、ツリーはこの

.client/main.js 
|_imports/module1/index.js 
    |_imports/module1/api/api.js 
    |_imports/module1/component/component1.js 

api.jsファイルのようになりますが、そのようになっています

export default { 
    myFunction1 (arg1, arg2) { 
    // function stuff 
    }, 
    myFunction2 (arg1, arg2) { 
    // function stuff 
    }, 
} 

私はimports/module1/component/component1.jsmyFunction1(ar1,arg2)を呼び出すことができると期待が、それ動作しません。私は何が欠けていますか?

+0

あなたの 'component1.js'ファイルに' api.js'をインポートしますか?あなたはそれをどうやって見せることができますか? –

+0

いいえ、私は 'imports/module1/index.js'で両方をインポートしていますが、すでにロードされていると仮定しました。 – Billybobbonnet

+1

なぜでしょうか?ファイルのスコープが「リーク」しないため、この問題では各ファイルが完全に分離されています。あなたはそれを使用できるように何かをインポートする必要があります。 –

答えて

1

現在、component1.jsファイルにapi.jsをインポートしないため、component1はapiで定義された機能にアクセスできません。

ファイルのスコープが「リーク」しないため、この問題で各ファイルが完全に分離されています。 main.jsファイルのimportは、インポートされたすべてのモジュールを自動的にその子モジュールで使用できるようにはしません。これは意味をなさないでしょう。あなたはそれを使用できるように何かをインポートする必要があります。

関連する問題