Für den clientseitigen Code machen Sie das Richtige. babelify
es und versenden es an den Kunden.
Für den serverseitigen Code würde ich nur einen regulären Build mit babel-cli durchführen
Nach http://babeljs.io/docs/setup/#babel_register , babel-register
ist für den produktiven Einsatz nicht gemeint - Der erfordern Haken in erster Linie für einfache Fälle empfohlen.
für Babel 6+
Ab Babel 6 sind standardmäßig keine Transformationen enthalten. Beginnen wir also mit der Installation von babel-cli
und babel-preset-es2015
.
$ npm install --save-dev babel-cli babel-preset-es2015
Fügen Sie Ihrer .babelrc
Datei eine Transformation hinzu - dies ist das erste Modul, das wir oben heruntergeladen haben. Sehen Sie sich die vollständige Liste der Voreinstellungen an, um festzustellen , welche für Sie am besten geeignet sind.
{
"presets": ["es2015"]
}
Fügen Sie build
Ihrem Skript ein Skript hinzu package.json
. Unten finden Sie src
Ihre Eingabedateien und build
die transformierten Ausgabedateien
"scripts": {
"build": "babel src -d build"
}
Dann baue es!
$ npm run build
Führen Sie dann Ihren Code aus. Zu diesem Zeitpunkt möchten Sie die Dateien in Ihrem build
Verzeichnis ausführen
$ npm start
Verwenden Sie für Babel <= 5 einfach den erforderlichen Haken.
require("babel/register");
Alle nachfolgenden Dateien, die der Knoten mit den Erweiterungen .es6 , .es , .jsx und .js benötigt , werden von Babel transformiert. Die Polyfüllung wird ebenfalls automatisch benötigt.
Sie können Ihre Quelldateien in ES6 behalten und dennoch mit ausführen node server.js
Ihren Kommentaren zufolge scheinen Sie ein wenig Probleme zu haben. Achten Sie besonders auf den gelb hervorgehobenen Teil oben. Ihre erste Datei kann nur ES5 sein, das vom Knoten selbst ausgeführt wird. Alle nachfolgenden Anforderungen werden von Babel ...
So könnte ein typisches Setup aussehen
server.js
// only ES5 is allowed in this file
require("babel/register");
// other babel configuration, if necessary
// load your app
var app = require("./app.js");
app.js.
// this file will be loaded through babel
// you can now use ES6 here and in every other include
mach es an!
$ node server.js
require("babel/register");
ich meine server.js eingefügt habe und beim Ausführennode server.js
bekomme ich den Fehler:Unexpected reserved word: import ...
also schien es nicht zu funktionieren