2015-07-15 3 views

Antwort

9

Babel konvertiert ES6-Syntax in ES5-Syntax. Es liegt an Ihnen, ein Polyfill zu laden, damit neue ES6-Bibliotheksfunktionen verfügbar sind. Normalerweise würden Sie dies mit

import 'babel/polyfill'; 
+0

Danke tun, das funktioniert. Es wäre besser, wenn Sie diese Zeile nicht zu Ihrem Code hinzufügen müssten, und einfach Ihre normale 'babel es6.js> es5.js' ausführen können und standardmäßig wird alles, was in der ES6-Spezifikation enthalten ist, in ES5 konvertiert. – UnluckyPaladin

+0

Babel ist ein Syntax-Transformer, es fügt das Polyfill nicht automatisch hinzu, da das von Ihnen geladene Polyfill vollständig vom Benutzer abhängt. Wenn Sie nur moderne Browser verwenden, ist '/ polyfill' vermutlich zu viel Overkill, da es das breiteste Polyfill ist. – loganfsmyth

+1

Das macht praktischen Sinn. Es gibt aber auch einen Fall für ein Tool, das ES6 (alles gemäß ECMA-262 6) in ES5 umwandelt, das Sie unabhängig von Ihrem Browser verwenden könnten (vorausgesetzt, es deckt natürlich alle ES5 ab), Sie werden nicht aufgefordert, anzugeben, welche Teile der Spezifikation Sie verwenden, sondern nur die neue ES6-Syntax oder -Funktion, die Sie verwenden. – UnluckyPaladin