Изменения ES6 были согласованы три года назад. Но механизмов, использующих стандарт, немного. Модуль ESM NodeJS является альтернативой для тех, кто ищет средства кодирования с использованием ES6 без компилятора Babel.

ECMAScript 6 (также известный как ECMAScript 2015 и ES6) — это новый стандарт ECMAScript. Было внесено множество изменений, чтобы сделать код более чистым и объективным. Тем не менее, очень сложно найти технологии, которые реализуют и позволяют использовать спецификацию.

Последняя стабильная версия NodeJS (v.8.12.0) не реализована на базе ES6. Для тех, кто хочет использовать новые концепции ECMAScript 6, необходимо использовать конвертер/компилятор, который преобразует код, написанный на ES6, в обычный JavaScript.

Вавилон

Широко используемый компилятор — Babel. Babel как модуль npm требует правильной работы некоторых строк конфигурации (например, .babelrc). Кроме того, для большинства запущенных скриптов требуется пара аргументов:

В приведенном выше примере сценарий `serve` не будет работать должным образом, если `build` не был запущен ранее. Другой проблемой является отсутствие модулей babel в производственной среде.

Вопрос: действительно ли babel является `devDependency? Если написанный код зависит от его запуска в рабочей среде, я предполагаю, что ответ НЕ. Это влечет за собой необходимость использования в продакшене модулей babel и, следовательно, их конфигурационных параметров/файлов.

ЕСМ

Модуль ESM — это решение некоторых проблем с использованием Babel. Он готов к использованию в производственных средах и средах разработки. Под столом ESM использует некоторые функции времени выполнения Babel. Разница в том, что ESM запускается как обязательный модуль (в NodeJS с использованием опции `-r`).

Главное преимущество ESM перед ядром babel — читабельность конфигурационных скриптов. Кроме того, небольшой барьер между кодом разработки и производства. При использовании ESM код остается прежним. Это также способствует отладке.

Еще одним преимуществом является простота использования. Вот альтернатива предыдущему скрипту, написанному с использованием компилятора babel, теперь с использованием только ESM в качестве необходимого модуля:

Начните использовать сегодня! Это простое и быстрое изучение ES6. Более подробная информация о модуле ESM представлена ​​в его официальном посте.



Спасибо. мл.