我启动我的服务器,并在浏览器中刷新页面,然后以> 2s加载JS资源.如果我然后在任何浏览器中重新加载页面,它会快速加载.
这仅在服务器启动后的第一个请求中发生.我想它与第一次将JS文件放在一起有关,然后在服务器上缓存它.
可以做些什么来减少这个时间?
无论有没有生产设置(gzip,minify等),我都试过了.
客户代码:
<script src="/socket.io/socket.io.js"></script> <script> var socket = io.connect(); </script>
服务器代码:
var express = require('express'),expressServer = express.createServer(),socketServer = require('socket.io').listen(expressServer); expressServer.listen(1337);
解决方法
目前socket.io中存在一个导致此问题的错误.确保你没有这个设置,它应该加载更快:
io.set('browser client gzip',true); // gzip the file
加载socket.io.js的第一次调用将尝试压缩它并将其存储在内存中.你会遇到这些错误:
> https://github.com/LearnBoost/socket.io/issues/984
> https://github.com/LearnBoost/socket.io/issues/932
您可以通过使用缩小版本并允许缓存来提高速度,直到修复为止:
io.set('browser client minification',true); // send minified client io.set('browser client etag',true); // apply etag caching logic based on version number