Babel-узел против Babel-зарегистрироваться в разработке

Есть ли разница между использованием babel-register или babel-node при запуске моего кода в разработке? Два варианта:

  1. require('babel-register')({ "presets": ["es2015"] }); на входе-point.js и npm стартовый скрипт node entry-point.js

  2. просто запустить скрипт npm babel-node entry-point.js --preset=es2015

Они делают то же самое? И рекомендуется ли один путь над другим?

1 ответ

Решение

Я расспросил на работе и получил ответ. Я собираюсь опубликовать это здесь на случай, если кому-то еще будет интересно.

babel-node в основном звонки babel-register внутренне. см. источник. Различия

  1. когда используешь babel-node сама точка входа также пройдет через Babel vs. babel-register только файлы, необходимые после babel-register Требуется будет пробежать через Вавилон.

  2. если тебе надо babel-polyfill (например, генераторы) babel-node потянет это автоматически, против babel-register вам нужно сделать это самостоятельно. Об этом нужно помнить при сборке для производства. Если тебе надо babel-polyfill и вы используете babel-node в разработке, вам нужно убедиться, что вы строите babel-polyfill при строительстве для производства.

Один способ не рекомендуется по сравнению с другим. Тем не мение, babel-node немного чище, потому что он будет держать require ('babel-register') вне кодовой базы. Это также кажется немного более интуитивным для кого-то новичка во всем этом.

Другие вопросы по тегам