2015-02-07 4 views
0

Я иногда сталкиваюсь с этим в узле, и он в конечном итоге фиксируется путем возиться с ним, не понимая при этом основную причину. вот что происходит:Поврежденный модуль в Node.js

Мне нужен модуль в нескольких местах в моем коде, и первые несколько работают нормально. то почему-то что-то искажает модуль, где он просто возвращает пустой объект;

var m1 = require('./m1'); // returns just fine 
.... /// somewhere latter in the code 
var m1 = require('./m1'); // returns empty object 

Так что я думаю, мой вопрос, что бы коррумпированный модуль и как вы могли бы поставить какое-то утверждать, отладчик, чтобы поймать его, когда это произойдет?

спасибо

+0

Что возвращает 'm1'module как его экспорт? Возможно, что модуль может использовать глобальные переменные, которые будут запущены. – jfriend00

+0

иногда новый Object(), а иногда и прототип исходного объекта. он не использует Global ни для чего. Я подумал, что в какой-то момент это может быть bc, что объект является singleton, но экземпляр, с которым я столкнулся, теперь заканчивается module.exports = new MyClass(); –

+0

примечание: что также странно, что он даже не появляется в модуле.children [], когда все остальные требуют. http://nodejs.org/api/modules.html#modules_module_loaded –

ответ

0

Я нашел проблему. после длинной длины трассировки кажется (по крайней мере, для этого случая) круговой справочной проблемой.

Хотел бы получить ошибку, но, видимо, ее нет. спасибо jfriend00 за помощь

Смежные вопросы