2013-03-28 27 views
1

我下載了Angular項目angular-seed,並使用他們提供的節點web-server.js文件來運行我的代碼。將socket.io集成到angular-seed web-server.js中

我已經構建了足夠的功能,以便切換到另一個項目並重新執行已在web-server.js中管理的URL處理。

我想將socket.io添加到我的堆棧。然而,socket.io的方式是(默認)添加到客戶端棧線,看起來像這樣:

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

由於網絡server.js URL重寫,這是行不通的。我該怎麼辦?

我已經安裝的node.js,NPM和socket.io客戶端代碼

回答

2

socket.io.js由節點動態提供的(這不是資源)。然而,這種網絡服務器執行URL重寫,所以你不能把它當作正常:

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

,而是你需要爲它服務,像這樣:

<script src="http://nodeJS_server:port/socket.io/socket.io.js"></script> 

,其中,用於測試,nodeJS_server大概是localhost

port是你爲socket.io定義的,而不是節點本身。例如,在你的依賴,在網絡server.js的頂部,如果添加

io = require('socket.io').listen(8080), 

這是創建在8080端口上一個新的服務器來處理你的套接字通信。所以,你會在index.html作爲定義socket.io.js文件:

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

希望這樣可以節省別人一點時間。