Выбор ответа Junior Модули и npm обновлено
Сколько раз выполнится модуль
Вопрос
Модуль e.cjs содержит console.log("load"). Его подключают так. Сколько раз выведется load?
require('./e.cjs');
require('./e.cjs');
require('./e.cjs');
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: 1 раз. Модуль выполняется при первом require, результат кладётся в require.cache по полному пути.
Варианты ответа
- 3 раза
- 1 раз, но только в режиме production
- 0 раз: require только читает экспорт
- 1 разправильный ответ
Разбор
Модуль выполняется при первом require, результат кладётся в require.cache по полному пути. Повторные вызовы возвращают кеш без выполнения.
- 3 раза было бы, если бы кеша не было.
- 0 неверно: при первой загрузке код модуля выполняется целиком.
- Режим окружения на кеш не влияет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Как опубликовать библиотеку для ESM и CJS
Следующий вопрос
require() для ES-модуля в Node 22