Javascript module.exports未定义内联函数变量
我的小项目和javascript学习进展顺利(在很大程度上要感谢这里的同事) 我正在与module.exports进行斗争。我认为问题是因为我试图获取的变量隐藏在这里的内联函数中:Javascript module.exports未定义内联函数变量,javascript,module,inline,Javascript,Module,Inline,我的小项目和javascript学习进展顺利(在很大程度上要感谢这里的同事) 我正在与module.exports进行斗争。我认为问题是因为我试图获取的变量隐藏在这里的内联函数中: var login = require('./myAirLogin') var http = require('http'); var parseString = require ('xml2js').parseString; var options = { hostname: '192.168.1.200',
var login = require('./myAirLogin')
var http = require('http');
var parseString = require ('xml2js').parseString;
var options = {
hostname: '192.168.1.200',
port: 80,
path: '/getSystemData',
method: 'GET'
};
//Get the system variables from MyAir
var req = http.request(options, function(res) {
res.setEncoding('utf8');
res.on('data', function (systemdata) {
parseString(systemdata,{explicitArray:false,trim:true,ignoreAttrs:true},//childkey:9},//explicitArray:false},//explicitChildren:false},
function (err, sysdata) {
var myairActualTemp= Number(sysdata["iZS10.3"].system.unitcontrol.centralActualTemp);
var myairAirconOnOff= (sysdata["iZS10.3"].system.unitcontrol.airconOnOff);
var myairFanSpeed= Number(sysdata["iZS10.3"].system.unitcontrol.fanSpeed);
var myairMode= (sysdata["iZS10.3"].system.unitcontrol.mode);
var myairDesiredTemp= Number(sysdata["iZS10.3"].system.unitcontrol.centralDesiredTemp);
var myairNumberOfZones= Number(sysdata["iZS10.3"].system.unitcontrol.numberOfZones);
var myairMaxUserTemp= Number(sysdata["iZS10.3"].system.unitcontrol.maxUserTemp);
var myairMinUserTemp= Number(sysdata["iZS10.3"].system.unitcontrol.minUserTemp);
var myairErrorCode= (sysdata["iZS10.3"].system.unitcontrol.airConErrorCode);
});
});
});
req.on('error', function(e) {
console.log('problem with request: ' + e.message);
});
req.end();
如果我引入一个变量,即
module.exports.zones=8;
在初始块中,我可以从外部文件访问它们
var sysdata=require('./myAirGetSysData');
console.log(sysdata.myairNumberOfZones)
console.log(sysdata.zones)
但是,无法调用myairNumberOfZones。
我尝试过在不同的地方使用导出包装systemdata和systems函数,并使用了我在这里能找到的所有语法,但显然缺少了一些东西 您可以将module.exports={ getZones:getZones };
为区域创建一个getter函数,是否正在导出
myairNumberOfZones
?或者您的问题是如何导出在该函数中执行的内容?除非您显式导出它,否则您将无法从外部访问它。我一直在尝试。我找不到使其可用的正确语法/位置。