在另一个文件中导出,称为同一文件

时间:2019-02-22 13:40:36

标签: javascript node.js

说我有两个文件, index.js test.js

现在它们包含以下代码;

index.js

var test = require('./test');

test.execute();

function execute(){
  console.log('Execute this from the test file');
}

module.exports = {
  execute
}

test.js

var index = require('./index'); 

index.execute();

function execute(){
  console.log('Execute this from the index file');
}

module.exports = {
  execute
}

他们几乎都是同一件事,他们所做的只是执行对手的execute()功能。但是,当我启动节点时,我运行node index来启动服务器。现在发生的事情是test.js文件的execute()函数不存在,因为在导出带有index.js的execute函数之前需要测试模块。

解决此问题的最佳解决方案是什么?

1 个答案:

答案 0 :(得分:0)

在这种情况下,您似乎可以将导出分配到顶部:

index.js

module.exports = {
  execute
}

var test = require('./test');

test.execute();

function execute(){
  console.log('Execute this from the test file');
}

test.js

module.exports = {
  execute
}

var index = require('./index'); 

index.execute();

function execute(){
  console.log('Execute this from the index file');
}