2014-08-27 49 views
1

我一直在檢查其他的相關答案,如:Socket.io.js未找到(node.js的+快遞+ socket.io)

但我沒有找到解決我的問題。

這正是我所做的:

透過窗戶安裝的節點可執行文件,然後:

express node6 --hogan --ejs 
cd node6 
npm install 
npm install socket.io 

npm start 

我app.js是默認的,但我加了以下幾行把它與插座連接.io:

var http = require('http'); 
var server = http.createServer(app); 
var io = require('socket.io')(server); 
io.listen(http); 
http.listen(3000); 

Here's the complete app.js file

我也試圖複製和粘貼節點http服務器的例子與快遞3/4使用或app.js詳細in the socket.io docs,但調用npm start當他們兩個拋出錯誤。

然後,在我的hoggn觀點,我試圖加載socket.io這樣:

<script type="text/javascript" src="/socket.io/socket.io.js"></script> 

據我所知,Node.js的應自動得到它,但它不我的情況。爲什麼? 快遞版本:4.2.0

這是錯誤頁:

Not Found
404
Error: Not Found
at Layer.app.use.res.render.message [as handle] (C:\inetpub\wwwroot\node6\app.js:29:15)
at trim_prefix (C:\inetpub\wwwroot\node6\node_modules\express\lib\router\index.js:240:15)
at C:\inetpub\wwwroot\node6\node_modules\express\lib\router\index.js:208:9
at Function.proto.process_params (C:\inetpub\wwwroot\node6\node_modules\express\lib\router\index.js:269:12)
at next (C:\inetpub\wwwroot\node6\node_modules\express\lib\router\index.js:199:19)
at next (C:\inetpub\wwwroot\node6\node_modules\express\lib\router\index.js:176:38)
at C:\inetpub\wwwroot\node6\node_modules\express\lib\router\index.js:137:5
at C:\inetpub\wwwroot\node6\node_modules\express\lib\router\index.js:250:10
at next (C:\inetpub\wwwroot\node6\node_modules\express\lib\router\index.js:160:14)
at next (C:\inetpub\wwwroot\node6\node_modules\express\lib\router\index.js:176:38)

+0

和什麼是錯誤? – webduvet 2014-08-27 11:10:14

+0

沒有找到文件? 404 for socket.io.js – Alvaro 2014-08-27 11:12:11

+0

@lombausch用錯誤日誌更新了問題。 – Alvaro 2014-08-27 11:30:54

回答

2

而不是做npm install socket.io你必須做npm install socket.io --save所以socket.io模塊被安裝在您的web開發文件夾(運行此命令在基本位置/你的index.html或index.php所在的位置)。這會將socket.io安裝到運行該命令的區域,而不是全局安裝,此外,它會自動更正/更新您的package.json文件,以便node.js知道它在那裏。

然後將您的源路徑從'/socket.io/socket.io.js'更改爲'http://' + location.hostname + ':3000/socket.io/socket.io.js'

+1

- 保存更新package.json中的依賴關係模塊保存在完全相同的位置,恕我直言,它與他的問題無關。 – webduvet 2014-08-27 14:39:44

+0

看看答案的第二部分,他沒有正確設置socket.io源代碼的路徑。 – Blubberguy22 2014-08-28 13:05:00

相關問題