Javascript 优化/分析CSS/JS连接

Javascript 优化/分析CSS/JS连接,javascript,css,Javascript,Css,最好将CSS/JS文件组合在一起,这样就可以减少对站点的请求。然而,如何做到这一点并非无关紧要。有三种极端策略: 不要把任何东西组合起来。对于缓存很好,但是对于没有缓存文件的用户,有很多HTTP请求 将站点上的每个文件合并为一个。也适用于缓存,并且仅适用于单个请求,但文件将不必要地大,并且将包含大量不需要的内容,这会减慢浏览器的速度,并可能导致冲突 仅合并当前页面所需的文件。只有一个请求,没有不需要的内容,但对缓存来说很可怕-如果你有10个文件,它们可以以1000种可能的组合出现,因此即使你的访

最好将CSS/JS文件组合在一起,这样就可以减少对站点的请求。然而,如何做到这一点并非无关紧要。有三种极端策略:

  • 不要把任何东西组合起来。对于缓存很好,但是对于没有缓存文件的用户,有很多HTTP请求
  • 将站点上的每个文件合并为一个。也适用于缓存,并且仅适用于单个请求,但文件将不必要地大,并且将包含大量不需要的内容,这会减慢浏览器的速度,并可能导致冲突
  • 仅合并当前页面所需的文件。只有一个请求,没有不需要的内容,但对缓存来说很可怕-如果你有10个文件,它们可以以1000种可能的组合出现,因此即使你的访问者看到一个包含文件1和2的页面,以及另一个包含文件3和4的页面,他们仍然必须为包含文件1、2和3的页面下载一个新的组合文件。(如果我们想保留文件的顺序,情况会变得更糟。)
  • 理想的解决方案可能是这三种策略的组合(将许多页面上使用的一些文件组合在一起,并在任何地方都包含它们,然后将其余的文件组合成几个文件,希望其方式与在其他页面上的方式相同),但很难找到。你需要知道网站上使用了哪些文件,在哪个页面(或页面类型)上使用了哪些文件,每种页面类型的访问量,其中有多少来自回头客。。。简而言之,手工操作似乎是一种巨大的痛苦。我在找

    • 理想情况下,这些工具足够智能,可以为您进行优化,或者提供帮助
    • 更现实地说,这些工具可以统计哪个页面包含哪个CSS/js文件/下载这些文件的频率/两个文件一起下载的频率
    • 如果没有好的工具,请提供有关如何手动操作的建议/策略/最佳实践

    在我看来,你唯一应该考虑的是,你网站的每个页面上都有文件,这些文件是你自己制作的资源。任何公共图书馆或类似的东西都不应该合并。缓存很容易击败“许多连接”的论点,服务器/浏览器在如何随着时间的推移高效缓存内容方面变得越来越智能。产生无数的重组只会让你无法从中获利。

    在我看来,你唯一应该考虑的是合并出现在你网站的每个页面上的文件,这些文件是你自己制作的资源。任何公共图书馆或类似的东西都不应该合并。缓存很容易击败“许多连接”的论点,服务器/浏览器在如何随着时间的推移高效缓存内容方面变得越来越智能。产生无数的重组只会让你无法从这一进程中获益。

    据我所知,css和js文件不能与页面结合,因为它们大部分都是缓存的,修改的频率比内容要低

    GoogleChrome附带了“开发者工具”(你在检查代码时可以看到的工具),它有很多奇妙的功能


    “审核”菜单特别有用,因为它为您提供优化建议,如利用浏览器缓存、利用代理缓存、最小化cookie大小、优化样式和脚本的顺序、删除未使用的CSS规则等。。。看看

    据我所知,css和js文件不能与页面组合,因为它们大多是缓存的,修改的频率比内容要低

    GoogleChrome附带了“开发者工具”(你在检查代码时可以看到的工具),它有很多奇妙的功能


    “审核”菜单特别有用,因为它为您提供优化建议,如利用浏览器缓存、利用代理缓存、最小化cookie大小、优化样式和脚本的顺序、删除未使用的CSS规则等。。。看看

    以站点为中心的CSS和JS应该最小化并结合使用。您肯定不希望手动执行此操作,而是将其作为部署过程的一部分。本地更多的单个文件使开发/维护更容易

    以页面为中心的CSS和JS应该最小化,但不能合并,因为它只涉及站点的一部分。(我认为以页面为中心的CSS甚至不应该是一个单独的文件,而应该是页面本身的一部分……诚然,CSS的全部目的是避免以页面为中心的样式,所以可能没有意义)


    当然,总会有例外,这在很大程度上取决于项目的具体情况

    以站点为中心的CSS和JS应该最小化并结合使用。您肯定不希望手动执行此操作,而是将其作为部署过程的一部分。本地更多的单个文件使开发/维护更容易

    以页面为中心的CSS和JS应该最小化,但不能合并,因为它只涉及站点的一部分。(我认为以页面为中心的CSS甚至不应该是一个单独的文件,而应该是页面本身的一部分……诚然,CSS的全部目的是避免以页面为中心的样式,所以可能没有意义)


    当然,总会有例外,这在很大程度上取决于项目的具体情况

    另一个策略是将公共库(读:jQuery)移动到CDN。据说更可能的是,客户端已经缓存了它。如果cdn文件不可用,可以提供自托管回退。

    另一种策略是将公共库(读:jQuery)移动到cdn。据说更可能的是,客户端已经缓存了它。在cdn文件不可用的情况下,可以提供自托管回退