2016-09-09 10 views
7

これは有効なjavascriptですか?それはエラーではなく、動作するように見えます。混乱es6インポート - >エクスポートステートメント

export {default as Chooser} from "./chooser"; 

私の解釈は次のとおりです。

  1. importdefault結果export
  2. "./chooser"から#1 as Chooser

から何が起こっているのか、このですか?

+1

問題が解決しない場合はどうなりますか? –

+0

[はい](http://stackoverflow.com/a/34072770/1048572) – Bergi

答えて

3

これは有効なJavaScriptですか?

はい。

これは何が起こっているのですか?

はい。

1

あなたの解釈は正しいです。

importdefaultこれが正しい

"./chooser"から。エクスポートされるデフォルトの事は Chooserと輸入上にある、あなた as ...でそれに与えられた名前を使用する必要があります。これもある#1から Chooser

として

import { Chooser } from "./chooser"; 

export結果を正しい。 Chooserという名前は、デフォルトで新しい名前を付けてエクスポートしています。


は私がこれを打破してみましょう:これは何

export { 
    default as Chooser 
} from "./chooser"; 

は、それがエクスポートされたファイルを指定し、default as Chooserは名前Chooserの下で、デフォルトをエクスポートします。さて、インポート時に:

import { Chooser } from "./chooser"; 

あなたは、基本的にデフォルト命名しましたので、インポートするChooserを指定する必要があります。

+0

本当に? *これも正しいですが、モジュールはセレクタをデフォルトとしてエクスポートし、インポート時にはインポートによってデフォルトのエクスポートが見つかってインポートされます*モジュールは 'Chooser'という名前でモジュールをエクスポートし、' import {セレクタ}から './exports'; '。デフォルトのエクスポートを再エクスポートする場合は、 'export {default} from '。/ chooser';'と言う必要があると思います。また、あなたの答えの 'foo'は何を参照していますか? –

+2

* "エクスポートされるデフォルトのものとしてグローバルに使用できます" *デフォルトのエクスポートは "グローバルに"どのような関係がありますか?それはその意味で何を意味しますか? –

+0

@FelixKling私はそれを入れているが、それは削除されている理由はわからない*。それを指摘していただきありがとうございます! – Li357