2017-02-20 9 views
4

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

  1. require('babel-register')({ "presets": ["es2015"] }); на въездных-point.js и НПМ сценарий запуска node entry-point.js

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

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

ответ

5

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

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

  1. при использовании babel-node сама точка входа будет также проходить через столпотворение против babel-register только файлы, необходимых после babel-register необходимо будет проходить через Бабель.

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

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