mrclay/minify

Minify 是一个 PHP 应用,可以帮助您遵循客户端性能的几个规则。它将多个 CSS 或 JavaScript 文件合并,删除不必要的空白和注释,并通过 gzip 编码和最佳客户端缓存头提供服务

安装量: 12,724,932

依赖项: 144

建议者: 5

安全性: 0

星标: 3,008

关注者: 149

分支: 473

开放问题: 58

4.0.0 2024-01-04 06:08 UTC

README

原始作者不再推荐使用 Minify,尤其是早期版本,它们并没有设计用来处理现代的 JS 和 CSS 语法。相反,请使用最新的性能测量工具,如 Lighthouse,并遵循其建议。

2010 年,Minify 为一些网站提供了一些很好的改进,但现在浏览器和 HTTP 服务器已经好多了,Minify 可能只在某些情况下提供微小的性能提升。此外,JS 和 CSS 现在变化很快,新的语法可能会导致通过 Minify 服务的代码出现错误。

关于

Minify 是一个用于 JS 和 CSS 资产的 HTTP 服务器。它压缩和合并文件,并使用适当的头信息提供服务,允许条件 GET 或长期过期。

上述统计数据来自一个 简短教程,展示了如何在现有网站上轻松设置 Minify。它消除了 5 个 HTTP 请求,并将 JS/CSS 带宽减少了 70%。

CSS 文件中的相对 URL 将被重写,以补偿从不同目录提供。

静态文件服务

第 3 版允许从文件系统 直接服务文件,从而获得更好的性能。我们鼓励您尝试此功能。

支持

Google Group 上发布帖子。

安装

请参阅 安装指南

配置 & 使用

(使用 2.x? 这里是有 2.x 文档.)

请参阅 用户指南

Minify 还附带一个 URI 构建器应用程序,可以帮助您编写用于 Minify 的 URL 或配置文件组。

请参阅 食谱,以获取更多关于最小化的高级选项。

更多 文档 可用。

单元测试

  1. 通过 Composer 安装开发依赖项:composer install
  2. composer testphpunit

警告

  • Minify 被设计为高效,但对于高流量网站,由于其 PHP 的 CGI 开销,它可能比您的 HTTPd 慢于文件服务。请参阅 常见问题解答食谱 以获取更多信息。
  • 如果您合并了许多 CSS,请注意 IE 的 4096 选择器/文件限制,影响 IE 6 到 9。
  • Minify 应该 能够很好地处理 UTF-8 或其他 8 位编码(如 ISO 8859/Windows-1252)的文件。默认情况下,Minify 将 ";charset=utf-8" 追加到它发送的内容类型头中。

致谢

Minify受到Maxim Martynyuk的jscsscomp以及Patrick Hunlock的Supercharged JavaScript文章的启发。

用于JavaScript压缩的JSMin库最初由Douglas Crockford编写,并由Ryan Grove专门将其移植到PHP,以供Minify使用。