死循环模块引用
在node环境中, 模块A引用模块B, 模块B引用模块A是允许的, 只需要判断缓存对象是否存在该模块即可.
在微信小程序中, 如果模块A、B互相直接或间接引用, 会报死循环。 即: Maximum call stack size exceeded
而且引用过的模块明显没有缓存过,
代码如下
A.js
console.log(‘这是A模块’)
require(’./B.js’);
B.js
console.log(‘这是B模块’)
require(’./A.js’);
output: (死循环)
这是A模块
这是B模块
这是A模块
这是B模块
这是A模块
这是B模块
…