使用html在script标签中包含socket.io

时间:2017-06-13 14:13:44

标签: javascript html node.js sockets

在长时间使用html时,我们过去常常在html页面的同一文件夹中包含调用某个文件的脚本标记,或者包含其他文件夹,但我们必须包含确切的来源它,类似的东西:

<script src = "the source of the file and its name"></script>

使用socket.io网站,有index.html个文件,脚本标记就是这样:

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

但实际上socket.io.js文件的真正来源是在节点模块中,即使网站运行良好,如果我包含此文件的真实来源,网站也会崩溃。

我很好奇这种奇怪情况的原因,有人向我解释,拜托!

1 个答案:

答案 0 :(得分:1)

网站崩溃正确,因为您的Socket.IO服务器将处理正确版本的Socket.IO客户端库;你不应该在其他任何地方使用它。

如何运作?

将您的HTTP服务器包装在Socket.IO中,如下所示:

var io = require('socket.io')(http);

并且拦截请求 for&#34; /socket.io/socket.io.js"并自动发送适当的响应。这就是为什么<script src="/socket.io/socket.io.js"></script>有效而其他人不做的原因。

表示如果服务器正在运行,socket.io.js应该随时可用。