这里是你如何实现插座。与明确的io。
var express = require('express')
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
//serve static files and index.html
app.use(express.static(__dirname + '/'));
app.get('/', function(req, res){ res.sendFile(__dirname + '/index.html'); });
io.on('connection', function(socket){
//logic handled in here
});
http.listen(7000,function(){ console.log('listening on port: 7000'); });
上面的代码有处理的index.html的服务一条路线,当然你可以用其他路由扩展您在任何其他应用程序的方法相同。
以下是如何在express生成器的路径中访问socket.io的方法。
在WWW:
var server = http.createServer(app);
var io = require('socket.io')(server);
module.exports = {io:io}
在index.js
router.get('/', function(req, res, next) {
var io = require('../bin/www')
console.log('I now have access to io', io)
res.render('index', { title: 'Express' });
});
注意,上面的例子,纯粹是向您展示如何获得index.js内访问IO对象。有很多更好的方法需要socket.io并传递io对象,但这些决定似乎超出了这个问题的范围。
我可以在哪里添加? –
我想在'routes/index.js'中使用io对象,但是按照每年的代码,一切都在'app.js'文件中执行 –
您可以在project_root/bin/www中进行这些更改。 – user2263572