NodeJS 中的交叉要求 - 结果为空对象

问题描述

我在 NodeJS 程序中有两个具有不同功能文件,每个文件都需要另一个文件获取内部功能。 在require包含的第二个文件中,required元素为空。

关于 index.js

const bar = require('./bar.js');
const foo = require('./foo.js');
foo.sayHello();

在 foo.js 上

const bar = require('./bar.js');
var sayHello = function(){
    var name = bar.getName();
    console.log('Hello '+name);
}
module.exports = {
    sayHello : sayHello
}

在 bar.js 上

const foo = require('./foo.js');
var getName = function(){
    return 'Paul';
}
module.exports = {
    getName : getName
}

当我们启动此代码时,会显示以下错误

类型错误:bar.getName 不是函数

如果我在 foo.js 中创建一个 console.log(bar);,结果是一个空对象 {}

为了解决这个问题,我们可以先包含foo.js文件,但在本例中,它是bar.jsfoo对象/strong> 文件将为空。

两个文件不能要求交叉吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)