16

一个典型的网站由一个 index.html 文件和一堆 javascript 和 css 文件组成。为了提高网站的性能,可以:

  • 缩小 javascript 和 css 文件,以减小文件大小。
  • 将 javascript 文件连接到一个文件中,css 文件类似,以减少对服务器的请求数量。对于像 jquery 这样的常用(和共享)库,将它们保留在外部是有意义的,允许浏览器缓存该库并在不同的 Web 应用程序中重用它。

我想知道将串联的 javascript 和 css 文件内联放在单个 html 文件中是否有意义,这将进一步减少请求的数量。这会提高您网站的性能吗?或者它会反向工作,使浏览器无法缓存任何内容?

4

5 回答 5

6

将 CSS 和 JS 文件合并到一个文件中将减少请求的数量并使其加载速度更快。但是正如评论的那样,除非您有一个单页站点并且该页面的加载时间非常关键,否则它没有多大意义。所以在我看来,你最好把 CSS 和 Javascript 分开。

这是一本书,您可以在其中了解有关该主题的更多信息:

高性能网站

于 2012-08-13T14:03:31.893 回答
5

这个工具可能会帮助你。将您的网页转换为内联所有内容的单个 HTML 文件 - 非常适合您希望减少这些 http 请求的移动设备上的 appcache 清单。

https://github.com/remy/inliner

于 2014-05-23T06:18:00.407 回答
3

这不是一个好主意,原因如下:

  1. 你不会享受缓存的好处

  2. 您将在所有页面中加载不需要的资源

  3. 由于包含不相关代码分支的大文件,您将在开发网站时遇到困难

  4. 如果您在一个团队中工作,您将必须始终与您的队友一起处理相同的文件,这意味着您将遇到很多合并冲突。

于 2012-08-13T14:03:34.807 回答
2

它会减少请求的数量,但也意味着不会缓存那些用于其他页面的请求。将外部文件定义为告诉浏览器“网站的这一部分是可重用的”的一种方式。你会拿走这种能力,所以 CSS 和 JS 会加载。就像jackwanders 所说,如果你只有一页,那就太好了。

于 2012-08-13T14:03:20.163 回答
0

您可以为所有页​​面使用一个 CSS,并且由于它会被缓存,因此后续页面将从缓存中引用它,而无需发送额外的请求。

但是,将所有 Javascript 文件放在一个文件中是上下文相关的。您很可能正在使用 jQuery 等库和相关插件。这“可能”会在插件之间引发冲突问题。因此,在您一次尝试之前,请尝试一次合并几个文件并检查错误是否弹出。

于 2013-03-14T04:39:08.320 回答