缩小和编译JS和CSS

时间:2013-11-18 21:42:25

标签: javascript html css concatenation pagespeed

我目前对于为网站提供单个js文件和单个css文件非常矛盾,让我先解释一下:

我主要使用CMS而且大部分时间CMS都是Joomla,现在当我进行页面速度测试或类似的事情时,我似乎总是遇到一个问题,那就是应该只有1种风格工作表和页面的1个JavaScript文件。所以我开始执行任务,并开始使用css less并使用JavaScript连接和缩小两者。

所以现在我的问题是。这是健康的吗?我的意思是网站越大,我注意到的越多,我的网页并不需要这个JavaScript,我有JSON获取请求,哪里不需要任何JSON数据?当然这只能让页面慢下来吗?处理此问题的推荐方法是什么?我的意思是,每个页面只有一个单独的脚本版本,并且删除了未使用的代码吗?然后如何在CMS中管理它?

我非常困惑......我的意思是没有“如何为傻瓜创建高效的数据保存网站”?

任何帮助都非常赞赏。

1 个答案:

答案 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跟踪代码。因为我喜欢稍微加载一点点,而其他人可以支付一些托管费用!

所以第二件事是,不要过于严肃地对待自动化工具的指导方针。当你有多个脚本时,他们肯定会抱怨,但两个缓存脚本与一个脚本之间的区别非常小。最大的胜利是当你在每个页面上加载相同的脚本/脚本时,因为你只需支付大部分时间成本。