假设我有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}}?
无论如何,我的问题是:是否可以看到模块中的所有子项,无论它们是否已被加载?
答案 0 :(得分:1)
我过去遇到了类似的问题,我手动删除了缓存,在你的情况下是模块C。
C.js
delete require.cache[require.resolve('./Z')];
var z = require('./Z'); // 1
我不确定这对你来说是不是一个可行的解决方案。