我有一个名为internal.js
的文件,它看起来像这样:
module.exports = deps => async (event) => {
console.log(deps.a);
console.log(aFunction());
function aFunction() {
return "This is the aFunction - " + deps.a;
}
}
和另一个
external.js
文件,它看起来像这样:let internal = require('./internal')({
a: "this is the a variable"
});
internal();
我执行此启动
require
,结果是:➜ node external.js
this is the a variable
This is the aFunction - this is the a variable
好吧,现在。由于测试原因,我想直接调用在
node external.js
内编码的aFunction
的能力(请注意,由于internal.js
我不能将deps.a
移到aFunction
之外)。我能怎么做? 最佳答案
当前,您internal.js
仅导出函数。这意味着external.js
只能访问此功能。由于aFunction()
只是导出函数中本地定义的变量,因此它不在external.js
的范围内,因此无法访问。
您必须通过以下任一方式公开它:
将aFunction
与deps =>
函数一起作为导出对象的属性放置
让您的导出函数返回一个包含aFunction
的对象
让内部异步函数返回一些值,您可以使用该值访问aFunction