我正在尝试执行一些代码,就像在我的nodejs应用程序的index.js中一样。 我有以下代码:
index.js
var data = [];
function populateData(){
for(var i = 0; i < 100; i++){
data.push(i);
}
}
populateData();
require('./other.js')();
other.js
module.exports = function(){
console.log(data);
}
但是,这告诉我数据未定义。有什么办法可以读取这样的数据变量吗? 我尝试过
require('./other.js').apply(null);
和
require('./other.js').apply(this);
但是对我都不起作用
答案 0 :(得分:0)
将另一个模块用于公共变量。
public class TestObject {
private String name;
private String secret;
public String getSecret() {
if(Utils.isAdmin())
return secret;
return null;
}
public void setSecret(String secret) {
this.secret = secret;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
module.exports = {
data: []
}
const common = require('./common');
const other = require('./other');
function populateData(){
for(var i = 0; i < 100; i++){
common.data.push(i);
}
}
populateData();
other.test();
答案 1 :(得分:0)
您可以像这样将数据传递到文件
index.js
var data = [];
function populateData() {
for (var i = 0; i < 100; i++) {
data.push(i);
}
}
populateData();
require('./other.js')(data);
other.js
module.exports = function(data) {
console.log(data);
};