是否在每个页面上包含javascript文件?

是否在每个页面上包含javascript文件?,javascript,html,performance,Javascript,Html,Performance,假设我有一个包含多个子页面且不共享相同脚本的页面,那么关于服务器负载和性能的最佳策略是什么 现在我已经在所有页面中包含了所有javascript文件/插件。但例如,子页面1是唯一使用GoogleMaps API的页面,子页面2是唯一使用lightbox插件的页面,等等 我的页面有时会很拥挤,所以我希望尽可能减少服务器负载。那么,什么是最好的?这有关系吗?实际上,这取决于您的服务器配置 如果它允许状态304作为响应,那就不会太麻烦了,因为内容不会被发回 如果服务器甚至不发送一些标题,如缓存控制:必

假设我有一个包含多个子页面且不共享相同脚本的页面,那么关于服务器负载和性能的最佳策略是什么

现在我已经在所有页面中包含了所有javascript文件/插件。但例如,子页面1是唯一使用GoogleMaps API的页面,子页面2是唯一使用lightbox插件的页面,等等


我的页面有时会很拥挤,所以我希望尽可能减少服务器负载。那么,什么是最好的?这有关系吗?

实际上,这取决于您的服务器配置

如果它允许状态304作为响应,那就不会太麻烦了,因为内容不会被发回


如果服务器甚至不发送一些标题,如
缓存控制:必须重新验证
,某些浏览器甚至可以完全避免该请求。

您的
index.html
可能如下所示:

<!--#include virtual="header.html" -->
<!--#include virtual="main.html" -->
<!--#include virtual="footer.html" -->

所有必要的资产都位于
header.html
文件中,而根据需要资产位于
main.html
文件中


(当然,您可以同样轻松地使用PHP或Javascript/jQuery版本。)

考虑将静态内容移出服务器

对于像jquery这样的公共JS文件,我只需要链接到公共站点,这样Google或任何为它们提供服务的人都可以访问。这将保持您的服务器的负载,加上他们的CDN有机会从靠近客户端的站点提供文件,从而加快加载速度


另一种选择是在AWS S3中托管静态内容,如JS/CSS/PNG。

为什么不在布局/主页标记中包含常规资产,并在其自己的页面标记(您提到的子页面)中包含特定资产。之前也曾问过同样的问题,但我当时找不到它,我想是的,但我找不到关于它的其他问题……;)因此,你建议如下:尽可能使用谷歌服务器;只添加每个页面/模板所需的javascript文件?基本上是的。任何公开来源的东西(比如jquery),我都会参考谷歌CDN。我会尽可能缩小规模,确保客户端可以缓存JS文件,测量实际性能以识别慢的部分,将JS包含限制在页面上所需的范围内。这里还有一些想法:这里: