我目前对于为网站提供单个js文件和单个css文件非常矛盾,让我先解释一下:
我主要使用CMS而且大部分时间CMS都是Joomla,现在当我进行页面速度测试或类似的事情时,我似乎总是遇到一个问题,那就是应该只有1种风格工作表和页面的1个JavaScript文件。所以我开始执行任务,并开始使用css less并使用JavaScript连接和缩小两者。
所以现在我的问题是。这是健康的吗?我的意思是网站越大,我注意到的越多,我的网页并不需要这个JavaScript,我有JSON获取请求,哪里不需要任何JSON数据?当然这只能让页面慢下来吗?处理此问题的推荐方法是什么?我的意思是,每个页面只有一个单独的脚本版本,并且删除了未使用的代码吗?然后如何在CMS中管理它?
我非常困惑......我的意思是没有“如何为傻瓜创建高效的数据保存网站”?
任何帮助都非常赞赏。
答案 0 :(得分:1)
确保您在每个页面上加载的Javascript仅在需要时运行。
您可以通过从页面上的显式脚本标记运行您需要的位来执行此操作:
<script>
mysystem.doContentPageSetup();
</script>
或者你可以在javascript本身中检测到那种页面
function init() {
switch ($("body").attr('page-type')) {
case 'content':
doContentPageSetup(); break;
// etc
}
}
你应该能够以这种方式停止发出不需要的Ajax请求的javascript。
您想要在一个地方加载所有javascript的原因是它不会再次加载(只要它在缓存中)。因此,在用户性能和服务器带宽方面,在不需要的页面上进行javascript“加载”几乎是免费的。
除此之外,获取新文件的开销比获取更大的文件要大得多(即2个20KB的文件比获取40KB的文件长两倍多),你可能还有一个问题。大缩小的JS文件。
尽管如此,大多数人都没有成功。我经常有三个:从CDN获取jQuery,然后是我自己的代码,然后是javascript跟踪代码。因为我喜欢稍微加载一点点,而其他人可以支付一些托管费用!
所以第二件事是,不要过于严肃地对待自动化工具的指导方针。当你有多个脚本时,他们肯定会抱怨,但两个缓存脚本与一个脚本之间的区别非常小。最大的胜利是当你在每个页面上加载相同的脚本/脚本时,因为你只需支付大部分时间成本。