客户端的socket.io错误

我花了几天的问题。我想用socket.iobuild立一个页面。 我是node.js & socket.io的开端。 我读了socket.io文档,并逐步构build页面。 然后我得到一个错误, 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); }) 

在客户端,你应该使用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> 

未经testing在您的帕格模板中,您可以在头部或身体,

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