2017-01-05 13 views
0

「剥がす」最初の1の範囲内にありますexport default {SlateRules, SlateSchema};輸出複数のモジュールは、ES6インポート時に、すべてのモジュールは、私は、私は、次の(あるエクスポートされたオブジェクトの両方を)やっている

し、別のファイル内の

import {SlateRules, SlateSchema} from 'SlateInfo';

B UTは私が取得することはSlateRulesSlateRules

SlateSchemaSlateSchemaが未定義のままに含むオブジェクトとして定義されていることです。

どこが間違っているのですか?私は何を誤解していますか?

+0

'SlateRules'と' SlateSchema'の両方はあなたの例では 'undefined'でなければなりません。 –

+0

'export {SlateRules、SlateSchema}'を使用すると同じ結果が得られます。両方のエクスポートが 'SlateRules'にインポートされることになります – Slbox

+0

おそらく間違ったモジュールからインポートしていますか?エクスポートが自分のファイルにある場合、 '... from '/ path/to/SlateInfo' 'のようになります。 –

答えて

3

import {SlateRules, SlateSchema} from 'SlateInfo';という名前の輸出をインポートするためです。ただし、export default {SlateRules, SlateSchema};は、デフォルトののエクスポートであり、2つのプロパティを持つオブジェクトをエクスポートします。

あなたが名前の輸出をしたいなら、あなたはdefaultを省略する必要があります。

export {SlateRules, SlateSchema}; 

またはデフォルトのインポートを使用して、オブジェクトをdestructure:

import SlateInfo from 'SlateInfo'; 
const {SlateRules, SlateSchema} = SlateInfo; 

When should I use curly braces for ES6 import?はたくさん持っています名前付きエクスポートとデフォルトエクスポートの動作の例を示します。

+0

あなたのお返事ありがとうございます。残念なことに、私はそれをデフォルトでエクスポートせずに試してみましたが、結果は同じです。 – Slbox

+0

私はそれらをconstに入れてもらうことはできませんでしたが、さまざまなファイルでこれらを必要としているので、可能であればその方法を避けたいと思います。 – Slbox

+0

私は、正しいことを思い出すと 'export const SlateRules = {}'と 'export const SlateSchema = {}'を同じ結果で試してみました。 – Slbox

関連する問題