需要访问main.js文件中的变量到node.js中的服务文件

时间:2015-09-05 06:08:58

标签: node.js socket.io

我正在main.js文件中创建socket.io变量“io”。如下所示。

var server = https.createServer(secureOptions, svrMain);

server.listen(portNumber);

var io = require('socket.io').listen(server);
io.sockets.on('connection', function(socket){
  socket.on('join', function (data) {
   socket.join(data.email);

        console.log("group created" , data.email);
    });
});

我需要从下面的其他服务访问io变量。

// service.js

var inDeliveryInfo = dataObj["DeliveryInfo"];
var userEmail = inDeliveryInfo["UserEmail"];
var DeviceId = inDeliveryInfo["DeviceId"];
var DeliveredTime = inDeliveryInfo["DeliveredTime"];

if(userEmail != null ) {
    io.to(userEmail).emit('email_msg', {'msg' : "successfully delivered message to" +" "+ DeviceId + "at" + DeliveredTime});
}

如何从main.js访问此io到service.js

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我把var io作为全局变量。 如下。

global.io = require('socket.io')。listen(server);

现在我可以从其他服务访问io。