node.js - nodejs 和 socket.io.js 路径解析

标签 node.js socket.io httpserver

我刚刚开始使用socket.io.js 库学习nodejs。我的问题实际上与这些库中的内容无关,而是与访问浏览器如何提供这些文件有关。

在我的服务器目录中,只有 2 个文件(index.html 和 server.js)以及 node_modules 目录(用于 socket.io)。在index.html中,我有一个脚本标记,包括客户端socket.io lib,如下所示,

<script src="/socket.io/socket.io.js"></script>

相关服务器代码是,

var server = http.createServer(
    function(req, res) {
        res.writeHead(200, { 'Content-type': 'text/html'});
        res.end(fs.readFileSync(__dirname + '/index.html'));
    }
    ).listen(8080, 
    function() {
        console.log('Listening at: http://localhost:8080');
    }
);

我的问题是这个文件在服务器上的什么位置(index.html 所在的目录中没有 socket.io 目录)?那么网络浏览器是如何以及从哪里正确解析和下载这个问题的呢?

抱歉提出了菜鸟问题。

最佳答案

客户端文件由socket.io npm 模块自动注入(inject),因此当您升级npm 模块时,socket.io 的客户端版本会自动更新。

实际文件位于:

/usr/local/lib/node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js

编辑:忘记提及,当您初始化 socket.io 时,您实际上是在启动它自己的服务该文件的服务器。

关于node.js - nodejs 和 socket.io.js 路径解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15929842/

相关文章:

node.js - 保护 Socket.IO Websocket 并将其限制在域中

c++ - Boost asio 自定义 HTTP 服务器读取 HTTP post 请求

javascript - 文件更改时 Node 编译

node.js - 带有长字符串错误的 Sequelize/繁琐的创建/更新记录 : read ECONNRESET

node.js - 在 nodejs socket.io 中显示连续连接消息

python - 我需要发送不止一个 socket.send() 到一个 http 请求

java - 从 HttpExchange 获取 POST 数据

multithreading - 如何让 NodeJs 使用更多的 CPU 核心或多线程而不是单线程

javascript - node.js 中的 response.end 连接丢失

node.js - Socket.io 有人可以帮助我为什么连接/断开连接消息出现两次吗?