我创建了两个modules.export函数,在某些情况下它们需要彼此。
例如:
// a.js
modules.exports = function(){ b(); }
// b.js
modules.exports = function(){ console.log('b'); }
// main.js
let a = require('a.js');
let b = require('b.js');
a();
如上所述,它会抛出错误,说'b()'不存在。在常规JS中,只要定义在相同或更高的范围内,就可以定义调用其他函数的函数没问题,所以我不确定为什么module.exports不会发生这种行为。
我真的不想在a.js中要求b(),因为这会在我的项目中产生大量开销。
修改的
不幸的是,将模块添加到全局范围不是一种选择。
答案 0 :(得分:0)
这是你的回答朋友:
//a.js
const b = require('./b.js')
modules.exports = function(){ b(); }
//b.js
modules.exports = function(){ console.log('b'); }
// main.js
let a = require('a.js');
let b = require('b.js');
a();