ES2015 インポート宣言がトップレベルでも Firefox で機能しない
ユーザーがブラウザーの HTML ファイルで ES2015 インポート宣言を利用しようとしている-ベースの JavaScript モジュールが Firefox 46 で特有のエラーに遭遇しています。「SyntaxError: import 宣言はモジュールの最上位レベルでのみ表示される可能性があります」というエラー メッセージは、import ステートメントがスクリプト ファイルの先頭に配置されていることを考えると不可解に思えます。 .
Firefox の明示的なモジュール宣言の要件
Firefox のエラーは、ブラウザで ES2015 モジュールのサポートがデフォルトで有効になっていないことが原因で発生します。インポートおよびエクスポートでモジュールを使用するには、モジュールをインポートするスクリプト タグに「type=module」属性を追加して、モジュールを使用していることを明示的に示す必要があります。
たとえば、質問は次のように変更する必要があります:
<code class="html"><script src="t1.js" type="module"></script></code>
この変更により、スクリプトがモジュールであることが Firefox に明確になり、インポート宣言が適切に機能できるようになります。
ES2015 モジュールのブラウザ サポート
ブラウザでの ES2015 モジュールのサポートはまだ比較的新しく、ブラウザやバージョンによって異なります。 ES2015 インポート/エクスポート機能のブラウザ サポートをまとめた表は次のとおりです。
Browser | Version | Support |
---|---|---|
Firefox | 60 | Fully supported |
Chrome (desktop) | 65 | Fully supported |
Chrome (android) | 66 | Fully supported |
Safari | 1.1 | Fully supported |
Older Browsers | Varies | May require enabling experimental flags |
古いブラウザまたは組み込みモジュール サポートのないバージョンを使用している場合は、これを有効にするには実験的なフラグを有効にする必要がある場合があります。特徴。特定のフラグと指示はブラウザによって異なります。
以上がES2015 インポート宣言が最上位レベルにあるにもかかわらず、Firefox で失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。