Socket.io.js未找到(node.js的+快递+ socket.io)(Socket.io.

2019-09-27 05:43发布

我一直在检查其他的相关答案,例如:

  • Node.js的/socket.io/socket.io.js未找到
  • Socket.io不被Node.js的服务器提供服务
  • socket.io.js不在客户端发现
  • 配置'简单'的node.js + socket.IO + Express服务器

但我没有找到解决我的问题。

这正是我所做的:

通过可执行文件,然后在Windows安装的节点:

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

npm start

我app.js是默认的,但我加了以下几行把它与socket.io链接:

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

下面是完整的app.js文件 。

我也试图复制和粘贴节点http服务器 ,并与快递3/4或详细的app.js 使用的例子在socket.io文档 ,但是打电话时他们都引发错误npm start

然后,在我的hoggn观点,我试图加载socket.io这种方式:

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

据我所知,Node.js的应该自动获得它,但它在我的情况并非如此。 为什么? 快递版本:4.2.0

这是错误页面:

未找到
404
错误:未找到
在Layer.app.use.res.render.message [如手柄](C:\的Inetpub \ wwwroot的\ node6 \ app.js:29:15)
在trim_prefix(C:\的Inetpub \ wwwroot的\ node6 \ node_modules \表达\ lib中\路由器\ index.js:240:15)
在C:\的Inetpub \ wwwroot的\ node6 \ node_modules \表达\ lib中\路由器\ index.js:208:9
在Function.proto.process_params(C:\的Inetpub \ wwwroot的\ node6 \ node_modules \表达\ lib中\路由器\ index.js:269:12)
在接下来的(C:\的Inetpub \ wwwroot的\ node6 \ node_modules \表达\ lib中\路由器\ index.js:199:19)
在接下来的(C:\的Inetpub \ wwwroot的\ node6 \ node_modules \表达\ lib中\路由器\ index.js:176:38)
在C:\的Inetpub \ wwwroot的\ node6 \ node_modules \表达\ lib中\路由器\ index.js:137:5
在C:\的Inetpub \ wwwroot的\ node6 \ node_modules \表达\ lib中\路由器\ index.js:250:10
在接下来的(C:\的Inetpub \ wwwroot的\ node6 \ node_modules \表达\ lib中\路由器\ index.js:160:14)
在接下来的(C:\的Inetpub \ wwwroot的\ node6 \ node_modules \表达\ lib中\路由器\ index.js:176:38)

Answer 1:

而不是做的npm install socket.io你要做的npm install socket.io --save所以socket.io模块被安装在您的web开发文件夹(在该基地的位置/在你的index.html或指数运行此命令。 PHP是)。 这将安装socket.io在其中运行命令,而不是全局的区域,并且,此外,它会自动修正/更新您的package.json文件,以便node.js的人都知道它的存在。

然后从您的源路径更改'/socket.io/socket.io.js''http://' + location.hostname + ':3000/socket.io/socket.io.js'



文章来源: Socket.io.js not found (node.js + express + socket.io)