2017-08-28 201 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 = –