客户端的socket.io错误

时间:2017-08-28 04:43:57

标签: node.js sockets

我花了几天时间解决这个问题。我正在尝试使用socket.io构建一个页面。 我是node.js & socket.io的初学者。我阅读了socket.io doc,并逐步构建页面。 然后我收到了一个错误Uncaught ReferenceError: io is not defined

但我可以从http://localhost:3000/socket.io/socket.io.js

获取js内容

我在客户端使用var socket = io.connect('http://localhost')或使用var socket = io()。两个都不行。我做什么节目?

这是我在服务器端的代码:

var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var port = 3000;
http.listen(port, function(){
    console.log('Server listening at port %d', port);
})

在客户端:

var socket = io();
socket.on('news', function(data){
    console.log(data);
})

1 个答案:

答案 0 :(得分:0)

在客户端,您应该使用server.io客户端

import io from 'socket.io-client';

你可以运行

npm i socket.io-client

安装依赖项,或者您可以提供从https://www.npmjs.com/package/socket.io-client提供的dist文件夹中找到的文件socket.io.js

<script src="/socket.io/socket.io.js"></script>

未经过测试 在你的哈巴狗模板中,你可以做头部或身体,

doctype html
html(lang="en")
    head
    script(src="/socket.io/socket.io.js").
    //Your logic here