php - 如何将多个 javascript 文件的请求组合成一个 http 请求?

标签 php javascript apache http

这个概念对我来说是个新概念——我第一次接触到它是在 YUI dependency configurator .基本上,不是对许多文件有多个请求,而是将文件链接到一个 http 请求中以减少页面加载时间。

有人知道如何在 LAMP 堆栈上实现这个吗? (我看到有人问过类似的问题,但是 seems to be ASP specific

谢谢!

更新:两个答案都有帮助...(我的代表还没有高到可以发表评论,所以我在这里添加一些离别的想法)。我也来了across another blog post与可能有用的特定于 PHP 的示例。不过,大卫的构建答案让我考虑了一种不同的方法。谢谢,大卫!

最佳答案

有多种方法,最明显的两种是:

  1. 构建一个像 YUI 这样的工具,它可以根据您根据需要勾选的组件构建一个定制的、唯一的版本,这样您仍然可以将文件作为静态文件提供。当您下载它们的包时,MooTools 和 jQuery UI 都提供这样的包构建器,以尽可能为您提供最精简和高效的库。我确信那里存在通用的通用工具。
  2. 创建一个简单的 Perl/PHP/Python/Ruby 脚本,根据请求提供一堆 JavaScript 文件。所以“onerequest.js?load=ui&load=effects”将转到加载文件并使用正确的内容类型为它们提供服务的 PHP 脚本。有很多这样的例子,但我个人不是粉丝。

我不喜欢通过任何类型的脚本提供静态文件,但我也喜欢用 10 个左右的独立小类文件开发我的代码,而不需要 10 个 HTTP 请求的成本。所以我想出了一个自定义构建过程,它结合了所有最常见的类和函数,然后将它们缩小到一个文件中,如 project.min.js,并且在我的所有 View /模板中都有一个条件,在生产中包含这个文件。

编辑 - “自定义构建过程”实际上是一个极其简单的 perl 脚本。它读取我作为参数传递的每个文件并将它们写入一个新文件,可选择将整个文件传递给 JSMIN (以您喜欢的所有语言提供)自动。

命令看起来像:

perl build-project-master.pl core.js class1.js etc.js /path/to/live/js/file.js

关于php - 如何将多个 javascript 文件的请求组合成一个 http 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/101893/

相关文章:

php - 在 Woocommerce 中附加其他显示的尺寸和重量单位

PHP/MySQL 阻止用户访问其他用户上传的文件

javascript - 如何在 js 中同时检查 null 和 undefined?

javascript - 如何在 OrgChart 中隐藏子节点并显示父节点

javascript - 显示部分文本行

php - 如何着手保护文件免受未经授权的下载

java - 找不到 EntityManager Apache Deltaspike

php - 在 WooCommerce 结帐页面中自定义文本 "Total"

php - 为什么错误消息没有显示?

php - 我将如何加密我的 php 文件,以便只有拥有 key 的人才能访问它们?