【发布时间】:2016-10-06 08:17:32
【问题描述】:
我指的是一个已被多次询问但其他地方发布的解决方案无法解决我的问题的问题,即未找到 socket.io.js。
错误信息是
任何帮助将不胜感激。
我在我的 JADE 文件中引用了 socket.io.js:
script(src='http://code.jquery.com/jquery.js')
script(src='http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js')
script(src='/socket.io/socket.io.js')
script(src='/javascripts/sockets/client.js') // this is in public folder
在我的 App.js 文件中:
var express = require('express');
io = require('socket.io');
http = require('http');
app = express();
server = http.createServer(app);
io = io.listen(server);
server.listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});
app.use(express.static(path.join(__dirname, 'public')));
这些是我正在使用的版本:
"express": "~4.13.1",
"jade": "~1.11.0",
"morgan": "~1.6.1",
"serve-favicon": "~2.3.0",
"socket.io": "0.9.10"
一些附加信息: 在我的 app.js 中:我引用了服务器套接字
// set up our socket server
require('./public/javascripts/sockets/server')(io);
'/javascripts/sockets/client.js' 是我的客户端套接字:
var socket = io.connect('/');
socket.on('message', function (data) {
data = JSON.parse(data);
$('#messages').append('<div class="'+data.type+'">' + data.message +
'</div>');
});
$(function(){
$('#send').click(function(){
var data = {
message: $('#message').val(),
type:'userMessage'
};
socket.send(JSON.stringify(data));
$('#message').val('');
});
【问题讨论】: