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',

我的小项目和javascript学习进展顺利(在很大程度上要感谢这里的同事)

我正在与module.exports进行斗争。我认为问题是因为我试图获取的变量隐藏在这里的内联函数中:

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
?或者您的问题是如何导出在该函数中执行的内容?除非您显式导出它,否则您将无法从外部访问它。我一直在尝试。我找不到使其可用的正确语法/位置。