Карточка 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 ошибок.