【发布时间】:2014-10-17 18:28:52
【问题描述】:
我在搞乱socketIO,目前我有一个单独的路由文件:
//api.js
var express = require('express');
var router = express.Router();
router.get('/test', function (req, res) {
io.sockets.emit("change", {message: "this is a test"}); //io is NOT referenced!!!
response.send(200);
});
module.exports = router;
io 在我的server.js 中被引用,就像这样
var express = require('express');
var io = require('socket.io');
var app = express(),
server = require('http').createServer(app).listen(8080),
io = io.listen(server);
在使用 socketIO 之前,我包含了 api 路由文件并在所有路由前加上 /api,如下所示:
var api = require('./server/routes/api');
app.use('/api', api);
问题:如何将 socketIO io 的引用传递给路由文件?
【问题讨论】:
-
方法有很多种,包括导出带参数的init函数,导出just带参数的函数等
-
如果你有时间戴夫,我会非常感激一个例子。我考虑过导出函数,但后来我不知道如何仍然应用
/api前缀
标签: javascript node.js express socket.io