Я иногда сталкиваюсь с этим в узле, и он в конечном итоге фиксируется путем возиться с ним, не понимая при этом основную причину. вот что происходит:Поврежденный модуль в Node.js
Мне нужен модуль в нескольких местах в моем коде, и первые несколько работают нормально. то почему-то что-то искажает модуль, где он просто возвращает пустой объект;
var m1 = require('./m1'); // returns just fine
.... /// somewhere latter in the code
var m1 = require('./m1'); // returns empty object
Так что я думаю, мой вопрос, что бы коррумпированный модуль и как вы могли бы поставить какое-то утверждать, отладчик, чтобы поймать его, когда это произойдет?
спасибо
Что возвращает 'm1'module как его экспорт? Возможно, что модуль может использовать глобальные переменные, которые будут запущены. – jfriend00
иногда новый Object(), а иногда и прототип исходного объекта. он не использует Global ни для чего. Я подумал, что в какой-то момент это может быть bc, что объект является singleton, но экземпляр, с которым я столкнулся, теперь заканчивается module.exports = new MyClass(); –
примечание: что также странно, что он даже не появляется в модуле.children [], когда все остальные требуют. http://nodejs.org/api/modules.html#modules_module_loaded –