我有一个src / config文件夹,其中有多个文件a.js,b.js,c.js和index.js
在b.js中,我做
JsonMode.SHELL
JsonMode.RELAXED
JsonMode.EXTENDED
OR
const data = require('./index');
我总是得到一个很奇怪的空物体
// index.js
const data = require('./index.js');
我正在使用这个index.js,它工作正常。
因此,据此我了解到,要求./index始终返回空对象
有人可以解释吗?
答案 0 :(得分:1)
您的问题来自于您的方法,您需要在index.js中使用b.js,然后又需要b。依此类推。
如果您需要在另一个文件中建立索引,则应该可以正常工作。
app.js
const data = require('src/index');
//data.b.foo = "foo"
src/index.js
module.exports = {
a: require('./a'),
b: require('./b'),
c: require('./c')
}
src/b.js
module.exports = {
foo:"foo"
}
答案 1 :(得分:0)
您造成的原因循环依赖。
首先,节点加载 index.js ,然后加载 a.js , b.js 和 c.js 。
加载 b.js 时,节点将加载其中的 index.js 。
节点发现正在加载 index.js 。
节点将在 b.js 中返回一个空对象,以防止循环依赖。