Выбор ответа Middle Модули и npm обновлено
Импорт CommonJS из ESM
Вопрос
Как ES-модуль получает module.exports CommonJS-модуля при import pkg from "./legacy.cjs"?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: pkg это весь module.exports. При импорте CommonJS-модуля default-экспортом всегда становится весь module.exports.
Варианты ответа
pkgэто весьmodule.exportsправильный ответpkgэтоmodule.exports.default, иначеundefined- Импорт CJS из ESM запрещён
pkgэто промис, его нужно ждать
Разбор
При импорте CommonJS-модуля default-экспортом всегда становится весь module.exports. Именованные импорты дополнительно работают, если Node статически распознал имена (например, exports.a = 1).
module.exports.defaultберут в default только при специальной разметке__esModuleв некоторых сборщиках, а не в Node.- Импорт CJS из ESM разрешён.
- Статический
importне возвращает промис.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.