Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为了提高性能,我是否应该将Java脚本和css文件结合在一起?_Javascript_Css_Performance_Yslow - Fatal编程技术网

Javascript 为了提高性能,我是否应该将Java脚本和css文件结合在一起?

Javascript 为了提高性能,我是否应该将Java脚本和css文件结合在一起?,javascript,css,performance,yslow,Javascript,Css,Performance,Yslow,YSlow报告表明 我在一个特定页面上有许多javascript文件,这些文件应该合并到一个页面中。 我在一个特定页面上有许多css文件,这些文件应该合并到一个页面中 Q1.任何机构都可以详细说明这一点,将它们合并为一个如何快速 Q2.如果我需要有条件地使用不同版本的css/javascript(由于浏览器类型或版本),我是否应该缩小并单独使用该特定文件?但这将打破将所有文件放在一个文件中的规则。如果有人以某种方式这样做了,请在这里分享。每个文件请求都涉及到服务器的往返。请求的单个文件越多,往返

YSlow报告表明

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

Q1.任何机构都可以详细说明这一点,将它们合并为一个如何快速


Q2.如果我需要有条件地使用不同版本的
css/javascript
(由于浏览器类型或版本),我是否应该缩小并单独使用该特定文件?但这将打破将所有文件放在一个文件中的规则。如果有人以某种方式这样做了,请在这里分享。

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

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


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

你不可能什么都有

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

回答你的问题,

Q1。有谁能详细说明一下,将它们合并为一个如何快速?

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

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


去做吧。您必须这样做。

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

在JavaScript部分

我的意思是,你不能把所有这些结合在一起,然后最小化,因为它不会始终给你最佳的性能。诀窍是将JavaScript文件分组并最小化。例如,假设您要在页面中加载这些js文件

  • 一个(或多个)JavaScript库
  • 一些JavaScript文件通过AJAX将内容拉入页面
  • 插件/奇特的动画/独角兽,让你的网站看起来很酷
  • 一些进行分析/广告的js文件
  • 如果将所有这些最小化到一个庞大的JavaScript文件中,那么性能将不会有任何改善。相反,这将是一次可怕的经历

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

  • 从CDN加载JavaScript库(如果您使用的库没有CDN,那么就出了问题)
  • 合并提供有用内容的文件,然后加载它们
  • 合并使网站超级性感的文件
  • 最后加载必要的邪恶(我更喜欢在结束体标签上方的位置)
  • 即使您有条件JavaScript文件,也不要太担心。几乎所有主流编程语言中都有一些机制在运行中实现这一点


    CSS部分的

    我不是CSS方面的专家,因此我无法详细说明这一点。如果你想优化它们,你应该使用一些CSS预处理器,比如


    我不是CSS专家

    下行投票人愿意发表评论吗?+1:上行投票否定下行投票。我真的很想知道为什么这被否决了…谢谢你的输入。你只回答了问题1,在php中,问题也没有为php标记,javascript也可以在任何使用其他语言的网站上使用。还请添加到上述框架的链接,这样它也可以帮助其他任何人。每个处理器的CSS生成的CSS比需要的多,这不是一个减少文件大小或加快CSS速度的工具。@马克:我的论点是,如果他必须根据用户偏好更改样式表,那么他可以使用可变方法。否,我没有被否决!!事实上,你还没有接受之前问题的答案真是太好了。请接受他们,否则回答是令人沮丧的。。。