我刚刚开始使用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/