Еще один способ увидеть проблему - подумать о том, как узел может загрузить ваш модуль:
function loadModule(module, exports) {
внутри здесь находится код вашего модуля
}
Если ваш код перезаписывает параметр exports
(exports = handle
), это изменение не видно снаружи этой функции.И для этой перезаписи можно использовать объект module
.
Проблема не возникнет, если в области экспорта будет видима переменная, видимая в области видимости тела функции.