Как работает модульное кэширование в Node.js?

Middle
271 просмотров
AFK Offer AI

При первом require('module') Node.js загружает, компилирует и выполняет модуль, кладёт результат в require.cache под ключом resolved path. Все последующие require() возвращают закэшированный module.exports. Это означает: модули — синглтоны. Полезно для соединений с БД. Чтобы обойти кэш: delete require.cache[require.resolve('./module')]. В тестах это важно знать для правильного мокинга.

Следующий вопрос

Как работает input sanitization в Node.js?