繁体   English   中英

为什么Facebook不结合其CSS / JS文件?

[英]Why doesn't Facebook combine its CSS/JS files?

我很好奇为什么Facebook开发人员选择不将他们的脚本和样式表组合成单个文件。 相反,他们通过他们的CDN按需加载。

Facebook显然是一个非常复杂的应用程序,我可以理解这种模块化如何使Facebook更容易维护,但通常的优化建议是否仍然适用(特别是考虑到其高水平的使用)?

或者,他们使用CDN的事实是否避免了拥有大量小脚本/样式的通常性能影响?

他们可能遇到这样的情况,即能够在不同时间(针对不同用户的不同页面或不同应用程序配置)向浏览器提供不同JS文件组合的节省代表比组合的减少的HTTP请求开销更大的节省。所有文件合而为一。

如果浏览器在任何给定时间只执行总JS代码库的一小部分,那么这将是有意义的。 因为他们有这么多不同的用户和不同应用程序的不同部分为这些用户运行不同的配置,所以可以说是这种情况。

其次,这些文件只需要下载一次,然后浏览器在更改或缓存已过期之前不会再次请求它们,因此只有第一次访问才能真正受益于一体化风格。 是的,拥有和先进的CDN与世界各地的许多边缘位置肯定有帮助。

一句话BigPipe 他们将页面划分为“pagelets”,每个页面在其服务器上单独处理并并行发送到浏览器。 基本上几乎所有东西(CSS,JS,图像,内容)都是延迟加载的,因此它存在于一堆小文件中。

也许他们认为您更频繁地访问Facebook比清除浏览器缓存更频繁。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM