是否可以访问nodejs模块的* loaded *子节点?

时间:2015-05-30 19:18:11

标签: javascript node.js

假设我有3个具有依赖关系的模块,如下所示:

A.js

var b = require('./B');
var c = require('./C');

console.log(module.children.length); // 2

B.js

var z = require('Z');

console.log(module.children.length); // 1

C.js

var z = require('Z');

console.log(module.children.length); // 0 ?!?!

Z未出现在module.children C内,因为在B执行之前C已加载module.parent

我可以理解Z B Z因为它是第一个被加载的地方,但肯定B可能是两个孩子C和{{1}}?

无论如何,我的问题是:是否可以看到模块中的所有子项,无论它们是否已被加载?

1 个答案:

答案 0 :(得分:1)

我过去遇到了类似的问题,我手动删除了缓存,在你的情况下是模块C。

C.js

delete require.cache[require.resolve('./Z')];
var z = require('./Z'); // 1

我不确定这对你来说是不是一个可行的解决方案。