我刚刚开始使用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>
relecvant服务器代码是,
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目录)?那么如何以及从何处通过Web浏览器正确解析和下载它?
对于noob问题抱歉。
答案 0 :(得分:3)
客户端文件由socket.io npm模块自动注入,这样当你升级npm模块时,你的客户端版本的socket.io会自动更新。
实际文件位于:
/usr/local/lib/node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js
编辑:忘记提及当你初始化socket.io时,你实际上正在启动它自己的服务器来提供文件。