2014-08-27 52 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

相关问题