Скажем, у меня есть файл с именем parent.js
со следующим исходным кодом:nodejs - Вызов функции внутри родительского модуля от модуля детского
var child = require('./child')
var parent = {
f: function() {
console.log('This is f() in parent.');
}
};
module.exports = parent;
child.target();
и файл с именем child.js
со следующим исходным кодом:
var child = {
target: function() {
// The problem is here..
}
}
module.exports = child;
и я исполняю файл с помощью следующей команды:
node parent.js
Дело в том, что я хочу выполнить f()
внутри child.js
непосредственно без использования инструкции require(...)
. Раньше я пытаюсь выполнить эту инструкцию внутри target()
в child.js
:
module.parent.f()
и
module.parent.exports.f()
, но он не работает. Странная вещь, когда я исполняю console.log(module.parent.exports)
внутри child.js
, следующий вывод появится:
{ f: [Function] }
Так почему я не могу назвать f()
напрямую?