の範囲に、モジュールBへのアクセスにモジュールを与えるように見えることはできません。
それはデフォルトモジュールのエクスポートです:
const MyClass = (props) => (
<div/>
)
export default MyClass
我々はこのようにそれをインポートすることができます。
import MyClass from "../actions"
中括弧という名前のアイテムをエクスポートすることができますので、私たちは、このような輸出を持っている場合:
const myConst = "The Text"
const myHelper = (num) => 2*num
export default MyClass
export {myHelper, myConst}
このようにインポートできます。
import MyClass, {myHelper, myConst} from "../actions"
パスにインデックスを追加する必要はありません。デフォルトではaddです。 "../actions/index"ではなく "../actions"と書いてください
2つのモジュールのエクスポートされた要素を互いにインポートすることができます。
テストの目的で、rewireモジュールはエクスポートの制限を回避するのに役立ちます。
EDIT(コメントの後): 私はそのようなコードを試してみてください。
# scope.js
var data = ['The data']
var value = 'The value'
var scope = this
var fn = function(){ return scope }
console.log(scope)
export { scope, value, fn }
# index.js
import { scope, fn } from './scope'
console.log(scope)
console.log(scope.data)
console.log(fn())
結果は次のとおりです。
{ a: [Getter], b: [Getter] }
{ a: [Getter], b: [Getter] }
undefined
{ a: [Getter], b: [Getter] }
'' scope
変数であり、 'B' fn
機能です。パッケージは強く隔離されているようです。
ここでES6ガイドをお寄せいただきありがとうございますが、私の質問は異なります。私は、インポートされたモジュールに、インポートされた場所のスコープにアクセスするために何かを与える必要があります。 – Noitidart
私はいくつか試して、答えに追加します。それをベースとして(他に依存することなく)、生成されたバンドルを見てみましょう。あなたが解決策を見つけたかもしれませんが、答えやフィードバックを残してください。 – user394010
あなたの実験結果は私のものと同じです。スコープは強く隔離されています。私はスコープをタップしようとしています、それは私の質問です。 – Noitidart