mrclay/minify
Composer 安装命令:
composer require mrclay/minify
包简介
Minify is a PHP app that helps you follow several rules for client-side performance. It combines multiple CSS or Javascript files, removes unnecessary whitespace and comments, and serves them with gzip encoding and optimal client-side cache headers
README 文档
README
The original authors no longer recommend using Minify, especially previous versions, which were not designed to handle modern JS and CSS syntax. Instead, use an up-to-date performance measurement tool like Lighthouse and follow its recommendations.
In 2010, Minify offered a fine improvement for some websites, but browsers and HTTP servers are now much better, and Minify may offer only a marginal performance benefit in narrow cases. Also both JS and CSS now change rapidly, and new syntaxes are likely to lead to broken code being served through Minify.
About
Minify is an HTTP server for JS and CSS assets. It compresses and combines files and serves it with appropriate headers, allowing conditional GET or long-Expires.
| Before | |
|---|---|
| After |
The stats above are from a brief walkthrough which shows how easy it is to set up Minify on an existing site. It eliminated 5 HTTP requests and reduced JS/CSS bandwidth by 70%.
Relative URLs in CSS files are rewritten to compensate for being served from a different directory.
Static file serving
Version 3 allows serving files directly from the filesystem for much better performance. We encourage you to try this feature.
Support
Post to the Google Group.
Installation
See the install guide.
Configuration & Usage
(Using 2.x? Here are the 2.x docs.)
See the user guide.
Minify also comes with a URI Builder application that can help you write URLs for use with Minify or configure groups of files.
See the cookbook for more advanced options for minification.
More docs are available.
Unit Testing
- Install dev deps via Composer:
composer install composer testorphpunit
Warnings
- Minify is designed for efficiency, but, for very high traffic sites, it will probably serve files slower than your HTTPd due to the CGI overhead of PHP. See the FAQ and CookBook for more info.
- If you combine a lot of CSS, watch out for IE's 4096 selectors-per-file limit, affects IE 6 through 9.
- Minify should work fine with files encoded in UTF-8 or other 8-bit encodings like ISO 8859/Windows-1252. By default Minify appends ";charset=utf-8" to the Content-Type headers it sends.
Acknowledgments
Minify was inspired by jscsscomp by Maxim Martynyuk and by the article Supercharged JavaScript by Patrick Hunlock.
The JSMin library used for JavaScript minification was originally written by Douglas Crockford and was ported to PHP by Ryan Grove specifically for use in Minify.
mrclay/minify 适用场景与选型建议
mrclay/minify 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 18.69M 次下载、GitHub Stars 达 3k, 最近一次更新时间为 2013 年 03 月 23 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 mrclay/minify 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 mrclay/minify 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 18.69M
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3041
- 点击次数: 25
- 依赖项目数: 137
- 推荐数: 6
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2013-03-23