我有一个基于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发送消息。
答案 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');
);