これらのステートメントのモジュール指定子が何を参照しているかについて混乱しています。
export {bar} from "foo";
import {bar} from "foo";
"foo"
は何を指しますか? "./foo"
のようなものになるため、ファイルにすることはできません。ファイルでない場合は、IDだと思います。 IDはどのように定義されていますか?
Jsファイルからエクスポートしていますが、インポートはFirefoxブラウザーのインラインhtmlスクリプト(type="module"
)の一部になります。
ブラウザのバージョン(およびブラウザの設定)は、es6モジュールで動作することが確認されています。
前もって感謝します。
ES6は、モジュール指定子が何を参照するかを指定しません。
それは確かにそれだけです:識別子。これ以上何もない。
これらの識別子を実際のモジュールに解決するのは環境に任されています。ローダーは、それらを相対ファイルパス、グローバルID、npmモジュール名などとして解釈する場合があります。
ブラウザでは、 _<script type="module">
_の指定に時間がかかりました ですが、ついに登場しました。 _"foo"
_のモジュール指定子は現在無効です。ブラウザはそのモジュールをどう処理するかわからないため、そのモジュールを無視します。ロードするには、URLに解決されるものが必要になります。ジェイクアーチボルド 簡潔にまとめた :
「ベア」インポート指定子は現在サポートされていません。有効なモジュール指定子は、次のいずれかに一致する必要があります。
- 完全な非相対URL。のように、
new URL(moduleSpecifier)
を通過してもエラーはスローされません。- _
/
_で始まります。- _
./
_で始まります。- _
../
_で始まります。その他の指定子は、組み込みモジュールのインポートなど、将来の使用のために予約されています。