【发布时间】:2019-10-30 17:01:44
【问题描述】:
我正在尝试执行一些代码,就好像它在我的 nodejs 应用程序的 index.js 中一样。 我有以下代码:
index.js
var data = [];
function populateData(){
for(var i = 0; i < 100; i++){
data.push(i);
}
}
populateData();
require('./other.js')();
其他.js
module.exports = function(){
console.log(data);
}
但是,这告诉我数据未定义。有没有办法像这样读取数据变量? 我试过了
require('./other.js').apply(null);
和
require('./other.js').apply(this);
但是对我都没有用
【问题讨论】:
-
为什么不将数据作为参数传递?这比直接使用数据要好得多。
-
在这种情况下这将是一种更好的方法,但是我更感兴趣的是能够在不同文件的范围内从一个文件运行函数。这个例子是我正在寻找的概念的一个显着简化的演示。