Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点-不能在同一文件夹中要求(';/index.js';)_Javascript_Node.js_Express_Nodejs Server - Fatal编程技术网

Javascript 节点-不能在同一文件夹中要求(';/index.js';)

Javascript 节点-不能在同一文件夹中要求(';/index.js';),javascript,node.js,express,nodejs-server,Javascript,Node.js,Express,Nodejs Server,我有一个src/config文件夹,其中有多个文件a.js、b.js、c.js和index.js 当我在b.js里面的时候 const data = require('./index'); 或 我总是得到一个空的物体,这真的很奇怪 //index.js module.exports = { a: require('./a'), b: require('./b'), c: require('./c') } 我使用这个index.js,它工作得很好 因此,我从中了解到,/index总

我有一个src/config文件夹,其中有多个文件a.js、b.js、c.js和index.js

当我在b.js里面的时候

const data = require('./index');

我总是得到一个空的物体,这真的很奇怪

//index.js

module.exports = {
  a: require('./a'),
  b: require('./b'),
  c: require('./c')
}
我使用这个index.js,它工作得很好

因此,我从中了解到,/index总是返回空对象


有人能解释这一点吗?

您的问题来自您的方法,您需要index.js中的b.js,在那里您再次需要b等等

如果您需要在另一个文件中建立索引,它应该按预期工作

app.js

const data = require('src/index');
//data.b.foo = "foo"

您所做的事情会导致循环依赖

首先,节点加载index.js,然后加载a.js、b.js和c.js

加载b.js时,节点加载index.js,其中需要

节点发现index.js正在加载


节点将在b.js中返回一个空对象,以防止循环依赖。

因此b需要索引,而索引需要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"
}