node.js应用程序找不到socket.io
我在app目录(和express一起)中安装了socket.io,并在index.html
文件中以这种方式链接到它:
<script src="http://localhost:8080/node_modules/socket.io/lib/socket.io.js"></script>
这个请求我得到了404。 我仔细检查了链接,没有问题。 node.js应用程序在端口8080上运行,我不知道为什么它不工作
更新:显然这是与快递的东西。 当不使用它,我没有这个问题,socket.io工作正常。 这是他设置我的服务器文件:
var express = require('express'), http = require('http'); var app = express(); var server = http.createServer(app); var io = require('socket.io').listen(server); app.listen(8000);
这是前端:
<script src="/socket.io/socket.io.js"></script> <script src="js/vendor/jquery-1.8.3.min.js"></script> <script> var socket = io.connect('http://localhost:8000');
另外,我把jQuery从google CDN切换到了本地,而且也没有find它
确保你已经让socket.io
监听你后端的外部连接。 基本上socket.io里面有提供你的socket.io.js
文件的方法,所以你应该把你的require ('socket.io').listen(app)
定义到你的应用的任何路由。
正确的url是:
<script src="/socket.io/socket.io.js"></script>
正如randunel所说。
所以,你的configuration应该是这样的:
更新为快递3.x:
var express = require('express'), http = require('http'); var app = express(); var server = http.createServer(app).listen(8000); require('socket.io').listen(server); // Your app passed to socket.io
服务器端
<script src="http://localhost:8000/socket.io/socket.io.js"></script>
不要使用整个path,它不对应于你的项目的目录结构。 只是使用
<script src="http://localhost:8080/socket.io/socket.io.js"></script>
顺便说一下,请确保socket.io也在8080上监听,而不仅仅是项目中的其他服务。
尝试将您的JS文件放在http://localhost:8080/javascripts/socket.io.js
,基本上就是公用文件夹的JavaScript目录。
方式是来自随机的。
<script src="http://localhost:8080/socket.io/socket.io.js"></script>
如果直接链接文件,则可以获取“Welcome to socket.io”消息而不是文件。 还有一个CDN的socket.io.js文件可以链接,但已经过时了,并且在新项目上不能正常工作,所以不build议这样做。
- Openwhisk无法调用撰写postgre sql
- function/集成testingNodeJS ReST API实现
- 在部署中包含本地依赖关系到lambda
- 我怎样才能得到所有的计时器在JavaScript?
- 首先请求在Windows Azure上使用MongoDB的node.js应用程序产生400个错误的请求
- 什么是build议的Node.js库的callback风格?
- 运行node.js文件和selenium时,找不到模块“glob”
- 节点摩卡柴asynchronous – 一切都传递,即使它应该失败
- 如何防止npm install <package> –save-dev重新sortingdevDependencies