【发布时间】:2016-09-30 06:53:39
【问题描述】:
我想在调用某些 API 路由时向客户端发送一些数据。 我必须遵循 server.js 上的代码
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
io.on('connection', function(socket){
console.log('a user connected');
socket.emit('tx', 'msg');
socket.on('disconnect', function(){
console.log('user disconnected');
});
});
现在我有这条路线 /test:
var bsg = require('./routes/test');
还有那个文件:
var express = require('express');
var passport = require('passport');
var router = express.Router();
router.get('/test', function(req, res) {
//work here
});
module.exports = router;
在客户端:
<script type="text/javascript">
var socket = io();
socket.on('tx', function(data) {
console.log(data);
});
</script>
什么是最好的解决方案?
谢谢!
Express 4 / socket.io 1.4.5
【问题讨论】:
-
我正在使用 module.exports = router;我不能做 export = function(app,io)
-
好吧,除非您将其设为全局变量,否则您必须传递
io实例才能让您的路线使用它 -
不知道如何使用我当前的设置来做到这一点
-
刚刚更新了路由文件以显示我的设置