2017-02-20 3 views
4

Gibt es einen Unterschied zwischen der Verwendung von Babel-Register oder Babel-Knoten bei der Ausführung meines Codes in Entwicklung? Die beiden Optionen sind:Babel-Knoten vs Babel-Register in Entwicklung

  1. require('babel-register')({ "presets": ["es2015"] }); bei Einstiegs-point.js und npm Startskript node entry-point.js

  2. einfach npm Skript babel-node entry-point.js --preset=es2015

Haben sie genau die gleiche Sache zu tun beginnen können? Und ist eine Richtung gegenüber der anderen empfohlen?

Antwort

5

Ich fragte bei der Arbeit und bekam eine Antwort. Ich werde es hier posten, falls jemand anderes interessiert ist.

babel-node im Grunde ruft babel-register intern. siehe source. Die Unterschiede sind

  1. wenn babel-node der Einstiegspunkt mit sich selbst auch babel-register nur Dateien über babel vs. laufen erforderlich, nachdem babel-register erforderlich ist, wird durch babel ausgeführt werden.

  2. wenn Sie benötigen babel-polyfill (für z. B. Generatoren) babel-node wird es automatisch einfahren, gegen babel-register Sie das selbst tun müssten. Das ist bei der Produktion zu beachten. Wenn Sie babel-polyfill benötigen und Sie babel-node in Entwicklung verwenden, müssen Sie sicherstellen, dass Sie w/babel-polyfill bauen, wenn Sie für die Produktion bauen.

Ein Weg scheint nicht über den anderen zu empfehlen. Allerdings ist babel-node ein bisschen sauberer b/c es wird die require ('babel-register') aus der Codebasis halten. Es scheint auch etwas intuitiver für jemanden, der neu in all diesen Dingen ist.

Verwandte Themen