Не взирая на то, что спецификацию ES6 выпустили в 2015 году, даже в 2019 NodeJS всё ещё не реализует этот стандарт. Поддержка всё ещё экспериментальная и судя по описанию работает только на уровне V8: система модулей, которую написали сами разработчики ноды, как будто живет в другом мире.
В сочетании с ОГРОМНЫМ количеством уже готовых подпрограмм, использующих модули CommonJS, возникает вопрос: Что именно побудило Ecma International принять стандарт, идущий разнонаправленно движению публикации JS-библиотек как пакетов NPM, модулей NodeJS?
Действительно, спецификация модулей ES6 в корень расходится с CommonJS: модули ES6, в отличие от CommonJS, подгружаются асинхронно. Подробнее о особенностях модулей ES6 можно посмотреть в этой презентации
Кроме того, стандарт так же не описывает стандартное местоположение модулей, что порождает "path hell". С этим активно борются разработчики typescript, ситуация подробно описывается тут
import { DefaultRenderer } from '../../../rendereders'
import { PayPalClient } from '../../services/PayPal'
Странно, что спецификация полностью проигнорировала интересы разработчиков NodeJS, ведь HTTP/2 Server Push позволяет передать клиенту необходимые скрипты не дожидаясь запроса и задержки в исполнении не будет.
Вероятно, сделано это в уклон отказа от транспиляции по ненадобности и всё большего использования подгрузки кода из сторонних CDN в браузерах. Не приятно лишь то, что крупнейшие корпорации, реализующие CDN сервисы, зарабатывают на таргетинговой рекламе (шпионаже за пользователями).
P.S. Позже заметил, что за банкет платит именно Google.
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть такой участок кода на сервереВыполняется скрипт к бд и получаются данные в ответ
Вызываю функцию addListener из библиотеки WebMidi, третий параметр называется 'listener'Требуется, чтобы этот параметр был функцией (В моём случае это...