2016-08-15 87 views
0

我对如何最佳地优化JavaScript和脚本依赖关系有点困惑。JavaScript缩小和优化

比方说,我有一个名为foo.js的脚本和一个名为bar.js的脚本。

foo.js要求jquery ui-sortablebar.js要求jquery ui-datepicker

我的网站上只有少数几页需要foo.jsbar.js

我是否会将所有内容都编译成单个文件并将其缩小并在每个页面上调用它,即使一次只需要部分功能?

或者最好是单独调用它们,只在需要时调用它们,并在这些情况下创建额外的http请求?

我错过了更好的选择吗?

+0

这是一个权衡。您不需要在每个页面上使用单独的资源,因此本地浏览器无法使用缓存。但是,你不想过多地在每个页面上堆积一些未在该页面上使用的东西。所以,你必须找到一个快乐的媒体,并且如何选择任何给定的页面取决于一堆事情。这种或那种方式没有绝对的答案。如果可行的话,您可以考虑少量单独的最小化文件,这些文件可以被有效缓存,并使用适用于给定页面的文件,同时花费大量时间优化最常用的页面。 – jfriend00

回答

0

就我个人而言,我宁愿只在需要时调用所需的资源。您不必负担管理每个页面的不必要的导入,并且会改善您网站的加载时间。

0

这实际上是一个与您的应用程序特别相关的折衷问题。

首先,您可以考虑使用jQuery from a CDN,这将允许增加缓存命中的可能性(减少服务器使用的带宽量),并确保用户获得地理上接近的响应。

关于您的自定义代码,衡量优化影响的最佳方法是为您的应用运行测试。尝试设置A/B测试,并研究用户在您的网站上的体验。

一般来说,在我看来,在生产中使用了独特缩小的文件(这导致了一个HTTP请求)通常是一个合适的解决方案,但它实际上取决于您的代码库的大小。