2012-05-14 2 views
3

Так что я сделал npm install express и npm install socket.io, и я принес node_modules папки в мои server папку, в которой я использую WAMP.Uncaught TypeError: Объект # <Object> не имеет метода «подключить»

Используя это как server.js:

var app = require('express').createServer(); 
var io = require('socket.io').listen(app); 

io.sockets.on('connection', function (socket) { 
console.log('Someone connected!'); 
socket.on('set nickname' , function (nickname) { 
socket.nickname = nickname; 
console.log(nickname + ' just connected!'); 
}); 

}); 

app.listen(8080); 

и использовать это как client.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> 
    <title>Untitled 4</title> 
<script src="http://cdn.socket.io/stable/socket.io.js"></script> 
<script> 
    var socket = io.connect('http://localhost:8080'); 
    socket.on('connect', function() { 
    console.log('We are connected!'); 
var name = prompt('What is your name?'); 
this.emit('set namename', name, function (success) { 
console.log('The server got the message!'); 

if (!success) { 
console.log('Nickname is in use!'); 
} 
}); 
}); 
</script> 
</head> 
<body> 

</body> 
</html> 

ошибка я получаю Uncaught TypeError: Object #<Object> has no method 'connect'

Я знаю, что я использовал другой, чем socket.io.js Becase Я не» t знать, где взять /socket.io/socket.io.js. Я попытался сделать node_modules/socket.io/lib/socket.io.js, который является еще одним, который я нашел в моей папке node_modules, но это не так.

Я также начал свой server, и получил socket.io started, поэтому я знаю, что работает.

ответ

5

Ошибка, возникшая из-за неправильного источника скрипта socket.io (в index.html). Так это изменить:

<script src="http://cdn.socket.io/stable/socket.io.js"></script> 

в этом:

<script src="http://localhost:3000/socket.io/socket.io.js"> </script> 

И да, socket.io папка в корневой директории сервера, и мой серверный сокет на порту 3000.

+2

Ах, я вижу это сейчас. Спасибо, Вилк. – nn2

Смежные вопросы