Node.js 找不到socket.io/socket.io.js

Node.js 找不到socket.io/socket.io.js,node.js,socket.io,Node.js,Socket.io,我有一个套接字服务器: const app = require('express')(); const http = require('http').Server(app); const io = require('socket.io')(http); ... app.listen(3001); Express和socket版本: "express": "^4.16.3", "socket.io": "^2.1.1" 我称之为客户端: <script src="http://loc

我有一个套接字服务器:

const app = require('express')();
const http = require('http').Server(app);
const io = require('socket.io')(http);

...

app.listen(3001);
Express和socket版本:

"express": "^4.16.3",
"socket.io": "^2.1.1"
我称之为客户端:

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

当我在chrome上运行socket server并打开客户端应用程序时,我收到以下消息:“加载资源失败:服务器响应状态为404(未找到)”

我不打算将socket.io.js复制到公共文件夹,因为根据socket.io文档,这不是正确的方法

也就是说,我做错了什么?

可能的修复方法:

  • 确保您运行了
    npm install
    ,并且没有错误或未完成的安装:

  • 在项目目录中,转到
    /node\u modules/socket.io/node\u modules/socket.io client/dist
    ,复制名为
    socket.io.js
    的文件,并将其放入
    静态
    资源
    目录中

别忘了将以下行用于服务静态文件,现在您应该可以在下面进行浏览:

如果没有修复,下面是一个完整的基本示例,请按照以下步骤操作

将以下内容复制粘贴到文件
myfile.js

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);




http.listen(3000, function(){
  console.log('listening on *:3000');
});
运行以下命令:

$ npm i express --save 
$ npm i socket.io --save 
$ node myfile.js

打开你的浏览器

除了在socket.io文档中明确说明要使用“npm install--save socket.io”后安装socketio软件包外,我已经完成了你说的所有操作(但没有成功)
npm install socketio--save
!下面是一个修复程序,您可以手动将
socket.io.js
文件从
node\u modules
复制到静态目录/文件夹中。检查我的最新答案这也不是正确答案。正如我所说:“我不打算将socket.io.js复制到公共文件夹,因为根据socket.io文档,这不是正确的方法。”
$ npm i express --save 
$ npm i socket.io --save 
$ node myfile.js