2017-06-07 4 views
-1

Kann mir jemand helfen, eine node.js-Datei mit ES6-Funktionen ausführen? Dies ist mein aktueller Workflow:So führen Sie node.js ES6-Datei auf dem Mac

  • Speicher Änderung in der Datei
  • npm run build --- baut Datei auf meinen src/dist Ordner
  • cd in mein dist Verzeichnis
  • node
  • var file = require('./index.js')
  • file.someMethod()

Wenn ich dann meine Methode ändere, muss ich alle oben genannten Schritte wiederholen.

Kennt jemand eine effizientere Möglichkeit, dies zu tun?

Vielen Dank im Voraus!

+0

Mögliche Duplikate von [Wie neu zu kompilieren Webpack nach dem Ändern von Dateien?] (Https://stackoverflow.com/questions/34499390/how-to-recompile-webpack-after-changing-files) –

Antwort

1

Sie brauchen nichts, wenn Sie nicht importieren/exportieren. Installieren Sie einfach Knoten 8.x und führen Sie dann node my_file.js aus. Nodejs unterstützt die meisten es6-Funktionen standardmäßig.

Wenn Sie den Import/Export verwenden möchten, würde ich empfehlen, Typoskript zu verwenden: https://www.typescriptlang.org/. Es hat Compiler TS (statisch typisierte ES6) zu ES5.

Oh, und natürlich haben beide Babel und Typoskript Watcher-Module (automatische Neukompilierung bei Dateiänderung).

+0

Hallo - Ich habe gerade aktualisiert Knoten 8.0.0 .. und ich habe die Version verifiziert, indem ich 'node -v' ausgeführt habe. Allerdings bekomme ich immer noch 'SyntaxError: Unerwarteter Token-Import ' –

+0

Das ist was ich sagte, es unterstützt alle ES6, außer Import/Export. Ich benutze selbst Typoskript und empfehle Ihnen, dasselbe zu tun, aber wenn Sie nicht wollen, dann benutzen Sie einfach babel. –

+0

Ich bevorzuge auch Typoskript tbh, aber ich bin mir nicht bewusst über eine einfache Möglichkeit, TS in einem repl zu verwenden, also schlug ich babel-cli rein, weil ich weiß, dass Sie es als Replikat starten können. Ein schnelles Google bringt [diesen (ts-node)] (https://www.npmjs.com/package/ts-node) auf, obwohl das vielleicht auch funktionieren würde. – Chev

0

Es hängt wirklich davon ab, was npm run build tatsächlich in Ihrer App tut. Läuft es schluckig/grunzen? Webpack? Usw. Wenn es Webpack ist, gibt es eine webpack-dev-server, die Sie untersuchen sollten.

Wenn es grunzt oder schluckt, dann haben Sie eine benutzerdefinierte Build-Kette, mit der Sie arbeiten. Wenn Sie nur ES6-Funktionen unterstützen müssen, ohne das Projekt erstellen zu müssen, können Sie etwas Einfaches wie babel-cli verwenden und Ihre Datei außerhalb des Verzeichnisses dist ausführen.

$ npm i -g babel-cli 
$ babel-node 
> var file = require('./index.js'); 
> file.someMethod() 

von babel-node Laufen Sie laufen den normalen Knoten repl aber mit babel erforderlich. Es6 Features sollten jetzt im Repl unterstützt werden, ohne dass sie zu es5 kompiliert werden müssen.

Sie können auch versuchen, einfach auf die neueste Version von Knoten zu aktualisieren, weil Knoten 8 recht umfangreiche Es6-Unterstützung hat.

Verwandte Themen