在长时间使用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
文件的真正来源是在节点模块中,即使网站运行良好,如果我包含此文件的真实来源,网站也会崩溃。
我很好奇这种奇怪情况的原因,有人向我解释,拜托!
答案 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
应该随时可用。