我很新的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