在app.js中访问io对象

时间:2015-01-26 19:49:25

标签: javascript node.js sockets

我有一个基于express的应用程序。我有一个app.js启动应用程序,还有一个functions.js,我已经存储了应用程序的许多功能。我希望能够访问我的functions.js中使用的socket.io对象。但是,似乎我不能这样做,我也无法在互联网上找到任何解决方案。

app.js:

var app = express(); //var app = express.createServer(); var http = require('http').createServer(app).listen(3001); var io = require('socket.io')(http);

functions.js:

//something like io = require('./app').io

我希望能够访问io对象,以便向客户端javascript发送消息。

1 个答案:

答案 0 :(得分:2)

使用module.exports使io对象可用于其他模块。

app.js:

var express = require('express');
var app = express();
var http = require('http').createServer(app).listen(3001);
var io = require('socket.io')(http);

app.io = io;
module.exports = app;

require('./functions')

functions.js:

var io = require('./app').io;
io.on('connection', function(socket) {
  console.log('a user connected');
);