Welche Browser unterstützen Import- und Export-Syntax für ECMAScript 6?
Ich bin derzeit am schreiben einer web-Anwendung mit dem MEAN Stack, und bin versucht zu schreiben von code in ECMAScript 6 JavaScript; allerdings bin ich immer Fehler in Chrome und Firefox bei der Verwendung von import-und export-syntax. Gibt es derzeit irgendwelche Browser, die voll-Unterstützung von ECMAScript 6?
Bitte beachtet: ich bin nicht zu Fragen, wenn ECMAScript 6 wird unterstützt von den Browsern. Ich bin zu Fragen, welche Browser unterstützen ECMAScript 6 import-und export-syntax. Sehen https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla#Features_not_yet_supported_by_Firefox
InformationsquelleAutor der Frage Gregory R. | 2015-11-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Chrome und Firefox unterstützen
import
undexport
syntax (es gibt tests für richtige analysieren).Was nicht unterstützt wird ist das Modul geladen wird - Sie kann nicht geladen werden Modul mit allen Mitteln, weil die Spezifikation es ist noch nicht abgeschlossen. Sie müssen eine Art von Modul bundler. Ich bin nicht auf front-end-developer, aber ich habe gehört, gute Meinungen zu Rollup von meinem Kollegen.
InformationsquelleAutor der Antwort Ginden
Unterstützt in:
InformationsquelleAutor der Antwort Ali
Nun gibt es eine pollyfill, die Sie verwenden können, um zu importieren ES6-Modul.
Getestet habe ich es erfolgreich auf Chrom.
Hier ist der link: http://github.com/ModuleLoader/browser-es-module-loader
Es ist auch implementiert, nativ in Edge 14:
https://blogs.windows.com/msedgedev/2016/05/17/es6-modules-and-beyond
InformationsquelleAutor der Antwort Supersharp
Wie schon andere gesagt haben, die Unterstützung für Sie ist immer noch sehr begrenzt. Aber selbst wenn es volle Unterstützung.... würde es klug sein, es zu benutzen? Wie würden wir das tun?
Denken. Ein typisches JS-app geschrieben, mit Node-JS-Module leicht enthält Dutzende, sogar Hunderte von (sehr kleine) Pakete. Wollen wir wirklich, dass viele Anfragen?
Browserify, Webpack, Rollup usw. sind so beliebt, weil Sie uns ermöglichen, zu bündeln viele kleine Pakete in einer schnellen download. Mit code splitting wir können dem Modul bundler entscheiden, transpilation Zeit, basierend auf der code-unsere Seiten sind eigentlich mit und auf einige Konfigurationseinstellungen, wie viele Pakete zu erstellen, und was in jedem von Ihnen. Auf diese Weise können wir schreiben viele kleine Pakete und dienen Sie als ein (paar) big-bundles.
Mein Punkt ist, dass wir teilen unseren code in Pakete, die gut funktionieren auf einer konzeptionellen Ebene, dann bündeln Sie diese Pakete zu bündeln, die arbeiten auch auf einer technischen (Netzwerk -) Ebene. Wenn wir schreiben unseren code basiert auf einer optimalen Netzwerk-Paketgröße an, die wir am Ende zu opfern Modularität in den Prozess.
In der Zwischenzeit, es wird wohl nur die Verwirrung. Zum Beispiel, betrachten Sie das Beispiel auf dem Edge-blog:
Beachten Sie, wie Sie die Erweiterung
.js
zu denfrom
string? In Node JS, die wir in der Regel schreiben diese als:So wird der obige code auch die Arbeit auf der Kante? Und was ist mit genannten Pakete? Ich fürchte, wir werden sehen, eine Menge von Inkompatibilität hier, bevor wir herausfinden, wie wir diese Wege Arbeit auf der ganzen Linie.
Ich wage zu erraten, dass für die meisten Entwickler
System.import
bleiben meist unsichtbar in den Browser, und dass nur die Bündelung von software wird beginnen, es zu benutzen (für Effizienz-Zwecke), wenn es mainstream wird.InformationsquelleAutor der Antwort Stijn de Witt
Laut Google Javascript Style Guide:
Jedoch
import
undexport
umgesetzt werden, in vielen transpilers, wie der Traceur-Compiler, Babel oder Rollup.InformationsquelleAutor der Antwort Gregory R.