Heim >Web-Frontend >js-Tutorial >Warum schlagen ES2015-Importdeklarationen in Firefox fehl, obwohl sie sich auf der obersten Ebene befinden?

Warum schlagen ES2015-Importdeklarationen in Firefox fehl, obwohl sie sich auf der obersten Ebene befinden?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-23 00:54:03275Durchsuche

Why Do ES2015 Import Declarations Fail in Firefox, Despite Being at the Top Level?

ES2015-Importdeklarationen funktionieren in Firefox nicht, selbst auf oberster Ebene

Benutzer, die versuchen, ES2015-Importdeklarationen in ihren HTML-Dateien für Browser zu verwenden -basierte JavaScript-Module stoßen in Firefox 46 auf einen eigenartigen Fehler. Die Fehlermeldung „SyntaxError: Importdeklarationen erscheinen möglicherweise nur auf der obersten Ebene eines Moduls“ erscheint rätselhaft, da die Importanweisung ganz am Anfang der Skriptdatei steht .

Firefox-Anforderung für explizite Moduldeklaration

Der Fehler in Firefox rührt von der Tatsache her, dass die ES2015-Modulunterstützung im Browser standardmäßig nicht aktiviert ist. Um Module mit Import und Export zu verwenden, müssen Sie explizit angeben, dass Sie ein Modul verwenden, indem Sie das Attribut „type=module“ zum Skript-Tag hinzufügen, das das Modul importiert.

Zum Beispiel die HTML-Datei in der Die Frage sollte wie folgt geändert werden:

<code class="html"><script src="t1.js" type="module"></script></code>

Diese Änderung stellt Firefox klar, dass das Skript ein Modul ist, sodass die Importdeklaration ordnungsgemäß funktioniert.

Browserunterstützung für ES2015-Module

ES2015-Modulunterstützung in Browsern ist noch relativ neu und variiert je nach Browser und Version. Hier ist eine Tabelle mit einer Zusammenfassung der Browserunterstützung für ES2015-Import-/Exportfunktionen:

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

Wenn Sie einen älteren Browser oder eine Version ohne integrierte Modulunterstützung verwenden, müssen Sie möglicherweise experimentelle Flags aktivieren, um dies zu aktivieren Besonderheit. Die spezifischen Flags und Anweisungen variieren je nach Browser.

Das obige ist der detaillierte Inhalt vonWarum schlagen ES2015-Importdeklarationen in Firefox fehl, obwohl sie sich auf der obersten Ebene befinden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn