我很新的NodeJS并试图让Socket.IO运行一个Express应用程序。我试图尽可能靠近文档和教程,但最终,socket.io.js
无法在客户端找到。Socket.io没有正确连接到http服务器在快速应用
服务器正在启动如下:
var app = require('../app');
app.set('port', process.env.PORT || 3000);
var server = app.listen(app.get('port'), function() { debug('...') });
路由/服务网页:
var express = require('express');
var router = express.Router();
router.get('/', function (req, res) {
res.render('index', { title: 'Express' });
});
包括socket.io:
var express = require('express');
var http = require('http').Server(express);
var io = require('socket.io')(http);
而在HTML文件中,客户:
<script src="/socket.io/socket.io.js" type="text/javascript">
但是当加载页面时,这个JS文件永远找不到。我怀疑包括socket.io通过以前创建的http服务器是某种错误...或者我错过了别的东西?
更新
我刚刚发现服务器已启动(第一个片段)被执行之前,包括socket.io的文档片断。它们位于不同的文件中,并且服务器启动的一个(名为www.js
)被配置为package.json
中的“start”脚本,另一个(websockets.js
)被该参数间接需要。
如果我把
var io = require('socket.io')(server);
在www.js
末,一切都运行得很好。但有没有办法从websockets.js
,这是之前加载,例如由服务器启动回调函数?
查看其他在线教程相同。 – Ravi 2014-09-19 10:47:58