Карточка Junior Модули спрашивают часто обновлено

ESM и CommonJS

Вопрос

Назовите ключевые отличия ESM от CommonJS.

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

ESM: статические import/export, живые привязки, всегда строгий режим, асинхронная загрузка, top-level await, tree shaking. CommonJS: require во время выполнения и синхронно, экспорт как объект module.exports, есть dirname и module, кеш модулей.

Ответ

ESM: статические import/export, живые привязки, всегда строгий режим, асинхронная загрузка, top-level await, tree shaking. CommonJS: require во время выполнения и синхронно, экспорт как объект module.exports, есть __dirname и module, кеш модулей.

Разбор

В Node .mjs всегда ESM, .cjs всегда CJS, .js по полю type в package.json.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.