2013-06-26 9 views
12

Node.JS v0.11.3 behauptet, Unterstützung für ECMAScript 6-Module mit dem Flag --harmony_modules zu haben.ECMAScript 6-Module in Node.JS

Ich habe verschiedene Beispiele ausprobiert, wie das folgende.

module math { 
    export var pi = 3.141593; 
} 

Wie lautet die Syntax, um Module in Node.JS zu arbeiten?

+2

Ihr Link nicht funktioniert. –

+0

@CrazyTrain: Es funktioniert nur das zweite Mal: ​​-/ – Bergi

+1

[Scheint wie Chrome Module noch nicht unterstützt] (http://kangax.github.io/es5-compat-table/es6/#Modules). Basierend auf diesem können wir sagen, dass V8 im Allgemeinen es dann nicht unterstützt? – gustavohenke

Antwort

14

Die Implementierung Module in V8 ist unvollständig. Es gibt Parsing-Unterstützung, wenn es mit --harmony-modules aktiviert ist, aber die Unterstützung der eigentlichen Funktionalität wurde auf Eis gelegt. Der Grund dafür ist, dass die Spezifikation für die Funktionsweise von ES6-Modulen in Arbeit ist und immer noch nicht vollständig festgelegt ist.

Die Implementierung in Continuum (der verknüpfte Screenshot von Crazy Train's Antwort) stammt aus einer vorläufigen Spezifikation von November 2012 und ist nun wegen der laufenden Änderungen an der ES6-Modul-Spezifikation veraltet. Aus diesem Grund haben die V8-Entwickler die Unterstützung für Module in die Warteschleife gelegt.

Es scheint, als ob die Module-Spezifikation nähert sich Stabilität (obwohl ich erwarte, dass wir kleine Verfeinerungen für eine Weile sehen) und ich denke (zumindest hoffe), dass wir SpiderMonkey und V8 vorwärts mit Implementierungen im nächsten sehen werden 6 Monate.

Nützliche Links:
3

Sie können Continuum verwenden, eine virtuelle ES6-Maschine, die in (aktuellem) JavaScript geschrieben ist.

enter image description here

+0

@Randomblue: Beispiel Code von was? –

+0

@Randomblue: Das Beispiel ist in Ihrer Frage. Es klingt für mich wie Sie nach einer Testumgebung suchen. –

+1

Ich bin eigentlich auf der Suche nach einem Beispiel speziell für V8 arbeiten. – Randomblue