如何在模块导出中使用全局函数?

时间:2018-03-26 19:41:52

标签: node.js node-modules

如何在导出的函数中使用全局函数?

示例:

index.js

const another = require('./another');
let myfunc = msg => console.log(msg);

another("Hello World!"); // This gives me myfunc is not defined

another.js

module.exports = msg => myfunc(msg); // myfunc is a "global" function

我需要这样做,因为another.js里面的代码是递归的,我在index.js中经常使用它

1 个答案:

答案 0 :(得分:0)

在你的another.js中,你应该改为

module.exports = (msg, callback) => callback(msg); 

然后,在index.js中,您将更改为

const another = require('./another');
let myfunc = msg => console.log(msg);

another("Hello World!", myfunc); 

现在应该可以正常工作并在控制台上打印。这是nodejs中的常见模式