我认为每个人都会遇到这个问题。在我的页面中,我使用jQuery,jQuery UI和许多插件,通常所有这些插件(包括UI)都有自己独立的CSS。此外,我习惯按照不同文件中的模块分离我的CSS。
所以,现在每当我加载一个页面时,它都会向服务器请求包含styles
和scripts
的至少30个额外资源,不要忘记includes
和requires
的PHP。在速度较慢的PC中(据此我说的是1GB Ram的系统,我认为这应该足够了)我发现我的页面甚至在本地服务器上都很慢。
现在这真的是不可接受的,我需要认真解决这个问题。
答案 0 :(得分:1)
如果网站对最终用户来说很慢,那么您需要找出具体原因。
削减不必要的Javascript数量以及你所包含的那种东西。如果您注意到客户端上的性能下降,则可能是导致问题的Javascript。你需要整个JQuery库吗?你用的全部吗?插件怎么样?
您的服务器是如何配置的?您是否正在使用PHP缓存?
您可以将CSS从文件加载合并为一个吗?你需要全部吗?
您还应该考虑使用require和include
,因为它们会影响性能。
答案 1 :(得分:1)
呀。明确地。在绩效和模块化之间始终存在平衡。提供给客户端的理想xhtml可能包含css资源的单个组合和缩小版本,并且js资源也相同,但在开发过程中使用它会很糟糕。
我要做的就是使用在重启操作期间在部署服务器上运行的脚本,该操作执行xpath查询以查找视图模板中的所有css引用。然后它知道在服务器上找到它们的位置,找到它们,然后组合成一个,缩小它们并在文件系统上保存单个组合文件。然后,该脚本将视图模板重写为仅引用此单个资源。这很好,因为您不必在开发过程中考虑它,但仍然可以在部署时获得性能。我还没有解决未使用的css引用的问题....
你可以看一下mod_pagespeed:
答案 2 :(得分:0)
您混合了不同的内容:includes
和requires
不会导致其他请求,也不会明显减慢您的网页速度。
除此之外,您的页面是否会变慢(可能是javascript过多?)还是加载速度慢(请求太多?)。在第二种情况下,首先要做的是在一个css和一个js文件中组合不同的css和js文件。
答案 3 :(得分:0)
为CSS和JS尝试GZIP压缩。您只需要几个htaccess文件,它会在浏览器中加载时压缩整个网站中的所有css和js。