Самое значимое изменение – возможность использовать новые модули в файлах с расширением
*.js. Теперь в Node.js есть три возможности работать с новыми модулями:1) используя расширение
*.mjs;2) используя расширение
*.js и type: module в package.json;3) используя расширение
*.js и флаги командной строки --type=module / -m.Причиной изменения подхода стала критика со стороны сообщества предыдущего механизма, когда работа с ES модулями была доступна только в файлах
*.mjs. Для сохранения совместимости с CommonJS было добавлено специальное расширение *.cjs.Разработчики Node.js пока не рекомендуют использовать ES модули в публикуемых пакетах. Релиз поддержки новых модулей без флага запланирован до выхода LTS версии Node.js 12 (октябрь 2019).
#nodejs #modules #esm #es2015
https://github.com/nodejs/node/pull/26745