2017-08-28 202 views
1

我花了几天的时间解决这个问题。我正在尝试使用socket.io来构建一个页面。 我是node.js & socket.io的开端。我阅读socket.io文档,并逐步构建页面。 然后我得到一个错误,Uncaught ReferenceError: io is not defined客户端的socket.io错误

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

我用var socket = io.connect('http://localhost')得到JS内容或客户端使用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

请分享您的代码 – Abhishek

+0

遗憾,因为GFW。我用iPad发布此的,是不容易的发布我的代码 –

+0

服务器端应用程序变种快递=(); VAR HTTP =热曲ire('http')。Server(app); var io = require('socket.io')(http); var port = 3000; http.listen(port,function(){console.log('Server listen at端口%d',端口);}) –

回答

0

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

import io from 'socket.io-client'; 

您可以运行

npm i socket.io-client 

安装依赖或者你也可以成为从https://www.npmjs.com/package/socket.io-client

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

提供dist文件夹没有测试 在你的哈巴狗模板中找到的文件socket.io.js,你可以在头做或身体,

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

我使用帕格视图,howshould我添加这个? –

+0

@王肖毅编辑回答。 –

+0

谢谢,我终于在帕格文件中发现了一个错误,我忘记在脚本中写入src = –