Javascript 缩小和编译JS和CSS

Javascript 缩小和编译JS和CSS,javascript,html,css,concatenation,pagespeed,Javascript,Html,Css,Concatenation,Pagespeed,我目前对于一个网站只有一个js文件和一个css文件感到非常矛盾,让我首先解释一下: 我主要使用CMS,大多数时候CMS都是Joomla,现在每当我做页面速度测试或类似的事情时,我总是会遇到一个问题,一个页面应该只有一个样式表和一个JavaScript文件。所以我开始了一项任务,开始使用css少,并使用JavaScript连接和缩小 所以我现在的问题是。这健康吗?我的意思是,网站越大,我就越注意到,不是我所有的页面都需要这段JavaScript,我有JSON get请求,而不需要任何JSON数据?

我目前对于一个网站只有一个js文件和一个css文件感到非常矛盾,让我首先解释一下:

我主要使用CMS,大多数时候CMS都是Joomla,现在每当我做页面速度测试或类似的事情时,我总是会遇到一个问题,一个页面应该只有一个样式表和一个JavaScript文件。所以我开始了一项任务,开始使用css少,并使用JavaScript连接和缩小

所以我现在的问题是。这健康吗?我的意思是,网站越大,我就越注意到,不是我所有的页面都需要这段JavaScript,我有JSON get请求,而不需要任何JSON数据?这肯定只能让页面变慢吗?处理这个问题的推荐方法是什么?我的意思是,每个页面是否应该只有一个单独的脚本版本,并且删除了未使用的代码?那么,在CMS中如何管理这一点呢

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


非常感谢您的帮助。

确保您在每个页面上加载的Javascript仅在需要时运行

您可以通过从页面上的显式脚本标记运行所需的位来执行此操作:

<script>
    mysystem.doContentPageSetup();
</script>
您应该能够通过这种方式阻止javascript发出不需要的Ajax请求

您希望在一个位置加载所有javascript的原因是它不会再次被加载(只要它在缓存中)。因此,从用户性能和服务器带宽两方面来看,在不需要的页面上加载javascript几乎是免费的

此外,获取一个新文件的开销要比获取一个更大的文件大得多(即,两个20KB的文件的长度是获取一个40KB文件的两倍多),您还可以使用一个大的缩小JS文件

也就是说,大多数人不可能只做到一个。我通常有三种方法:从CDN获取jQuery,然后是我自己的代码,然后是javascript跟踪代码。因为我喜欢稍微慢一点的加载,而其他人可以支付一点托管费用


因此,第二件事是,不要太认真地对待自动化工具的指导原则。当然,当您有多个脚本时,他们会抱怨,但是两个缓存脚本与一个脚本之间的差异非常小。最大的胜利是当您在每个页面上加载相同的脚本时,因为您只需在第一个页面上支付大部分时间成本。

确保您在每个页面上加载的Javascript仅在需要时运行

您可以通过从页面上的显式脚本标记运行所需的位来执行此操作:

<script>
    mysystem.doContentPageSetup();
</script>
您应该能够通过这种方式阻止javascript发出不需要的Ajax请求

您希望在一个位置加载所有javascript的原因是它不会再次被加载(只要它在缓存中)。因此,从用户性能和服务器带宽两方面来看,在不需要的页面上加载javascript几乎是免费的

此外,获取一个新文件的开销要比获取一个更大的文件大得多(即,两个20KB的文件的长度是获取一个40KB文件的两倍多),您还可以使用一个大的缩小JS文件

也就是说,大多数人不可能只做到一个。我通常有三种方法:从CDN获取jQuery,然后是我自己的代码,然后是javascript跟踪代码。因为我喜欢稍微慢一点的加载,而其他人可以支付一点托管费用


因此,第二件事是,不要太认真地对待自动化工具的指导原则。当然,当您有多个脚本时,他们会抱怨,但是两个缓存脚本与一个脚本之间的差异非常小。最大的成功是在每个页面上加载相同的脚本,因为您只需在第一个页面上支付大部分时间成本。

您应该尽量减少为客户端提供的脚本和css文件,因为并行下载的内容和减少http头文件都有限制。我通常只是通过cdn获取所有库,有一个更大的通用脚本文件和一个特定于页面的js文件。是的,过多的ajax调用显然会对每个站点的客户端1 js征税,这是一个过时的骗局。Parrelell下载意味着浏览器可以一次抓取两个50kb的文件,但如果仅此而已,一次只能抓取1个100kb的文件……您应该尽量减少为客户端提供的脚本和css文件,因为并行下载的内容和减少http头数都有限制。我通常只是通过cdn获取所有库,有一个更大的通用脚本文件和一个特定于页面的js文件。是的,过多的ajax调用显然会对每个站点的客户端1 js征税,这是一个过时的骗局。Parrelell下载意味着浏览器可以一次抓取两个50kb的文件,但一次只能抓取1个100kb的文件(如果只有这些文件的话)。。。