Javascript 一个请求多个 JS 文件

Javascript one request for multiple JS files

本文关键字:JS 文件 请求 Javascript 一个      更新时间:2023-09-26

我正在考虑创建可以执行以下操作的脚本:

  1. 从服务器上使用的JS目录中获取所有javascript。
  2. 将所有脚本合并为一个 - 这将只发出一个请求而不是多个请求
  3. 缩小组合脚本
  4. 缓存文件

假设需要加载文件的顺序写在配置文件中的某个地方。

现在,当我加载 myexamplepage.com 时,我实际上使用了jQuery,backbone,mootools,prototype和其他一些库,但是我没有要求服务器提供这些多个文件,而是调用 myexamplepage.com/js/getjs,我得到的是组合和缩小的JS文件。这样我就可以消除对服务器的额外请求。当我在网上阅读有关加速您的网站的信息时,我发现您对服务器发出的请求越多,您的网络就越慢。

由于我对编程世界很陌生,我知道我想到的许多东西已经存在,我不认为这也是例外。

因此,请列出您所知道的与我所描述的完全或相似的内容。(请注意,每次想要更改脚本时,您不需要使用任何类型的缩小器或第三方软件,您保留原始文件结构,您只需使用类助手)

附言我认为相同的方法也可以用于CSS文件。

我正在使用PHP和Apache。

与其

让服务器即时执行此操作,我建议提前执行此操作:只需连接脚本并通过非破坏性简化器运行它们,例如jsmin或"简单"模式下的Google闭包编译器。

这也使您有机会在该文件上放置版本号,并为其提供较长的缓存寿命,以便用户不必在每次访问页面时重新下载它。例如:假设网页内容更改得足够频繁,以至于您将网页上的缓存标头设置为每天过期。当然,你的JavaScript不会每天都在变化。因此,您的page.html可以包含一个名为 all-my-js-v4.js 的文件,该文件具有较长的缓存寿命(例如一年)。如果您更新 JavaScript,请创建一个名为 all-my-js-v5.js 的新多合一文件,并更新page.html以包含该文件。下次用户看到page.html时,他们将请求更新的文件;但在此之前,他们可以使用缓存的副本。

如果你

真的想即时执行此操作,如果你使用的是 apache,你可以使用 mod_pagespeed .

如果你使用的是.NET,我可以推荐Combres。它对JavaScript和CSS文件进行组合和缩小。

我知道这是一个老问题,但你可能对这个项目感兴趣:https://github.com/OpenNTF/JavascriptAggregator

假设您将 AMD 模块用于您的 javascript,此项目将按需创建高度可缓存的层。 它还具有您可能感兴趣的其他功能。