Выбор ответа Junior Модули и npm обновлено

Сколько раз выполнится модуль

Вопрос

Модуль e.cjs содержит console.log("load"). Его подключают так. Сколько раз выведется load?

require('./e.cjs');
require('./e.cjs');
require('./e.cjs');

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

Выберите вариант, и откроется разбор.

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

Коротко

Правильный ответ: 1 раз. Модуль выполняется при первом require, результат кладётся в require.cache по полному пути.

Варианты ответа

  1. 3 раза
  2. 1 раз, но только в режиме production
  3. 0 раз: require только читает экспорт
  4. 1 разправильный ответ

Разбор

Модуль выполняется при первом require, результат кладётся в require.cache по полному пути. Повторные вызовы возвращают кеш без выполнения.

  • 3 раза было бы, если бы кеша не было.
  • 0 неверно: при первой загрузке код модуля выполняется целиком.
  • Режим окружения на кеш не влияет.

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

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

Термины по теме