为了提高性能,我应该将我的javascript合并在一个中,将css文件合并在一个中吗



YSlow报告表明

我在一个特定的页面上有许多javascript文件,这些文件应该合并为一个。我在一个特定的页面上有许多css文件,这些文件应该合并在一个页面中。

Q1。有人能详细说明一下,将它们合并为一个会很快吗?

Q2。如果我需要有条件的不同版本的css/javascript(因为浏览器类型或版本),我应该缩小并单独使用该特定文件吗?但这将打破将所有文件放在一个文件中的规则。如果有人在某种程度上做了这件事,请你在这里分享。

每个文件请求都涉及到服务器的往返行程。您请求的单个文件越多,往返次数就越多,页面加载速度也就越慢。将尽可能多的文件合并为一个文件可以减少请求数量,从而提高页面加载时间。

这是一个很好的经验法则,但不要太在意。如果你需要为不同的目的加载不同的版本,请继续这样做,前提是你不会将代码和CSS分割成太多的小片段

"太多"的构成是特定于站点和系统的。尝试一些组合,找到适合你的。每个系统都是不同的。

你不可能拥有一切。

老实说,考虑到它们是缓存的,这没什么大不了的。

回答您的问题,

Q1. Could any body elaborate on this how would it be fast to merge them in one?

它将发出一个请求,而不是几个请求,从而使第一个页面加载更快。

Q2. In cases where I need conditionally different version of css/javascript (because of browser type or version) should I minify and use that particular file separately? but that will break the rule of putting all files in a single one. If any body has done it in a way could you please share it here.

做吧。你必须这样做。

对于这种情况,我在我的PHP框架中构建了一个压缩器来处理请求。Css或JS。我只需要包括每个文件,它根据HTTP头进行组合和缓存。

关于JavaScript部分

IMHO,你不能把所有这些都结合起来并最小化,因为它不会总是给你带来最佳的性能。诀窍是将您拥有的JavaScript文件分组并最小化。例如,你有这些js文件要加载到你的页面中

  1. 一个(或多个)JavaScript库
  2. 一些JavaScript文件通过AJAX将内容拉到您的页面
  3. 插件/花式动画/独角兽,让你的网站看起来很酷
  4. 一些做分析/广告的js文件

如果将所有这些最小化到一个庞大的JavaScript文件中,性能将不会有任何提高。相反,这将是一次可怕的经历。

相反,如果按照以下顺序加载它们,则会提供更好的用户体验。

  1. 从CDN加载JavaScript库(如果您使用的库没有CDN,则说明问题严重)
  2. 合并提供有用内容的文件,然后加载它们
  3. 合并你的文件,使网站超级性感,然后
  4. 最后加载必要的邪恶(我更喜欢在结束体标签上方的位置)

即使你有条件的JavaScript文件也不用太担心。几乎所有领先的编程语言中都有一些机制可以动态执行。


关于CSS部分

我不是CSS方面的专家,所以我不能详细说明。如果你想优化它们,你真的应该使用一些CSS预处理器,比如Sass或LESS或Stylus之类的

我不是CSS专家

相关内容

  • 没有找到相关文章

最新更新