middlewares/minifier

中间件用于压缩 Html、CSS 和 JavaScript 响应

v2.0.3 2024-01-12 17:49 UTC

This package is auto-updated.

Last update: 2024-09-12 19:24:41 UTC


README

Latest Version on Packagist Software License Testing Total Downloads

使用 wyrihaximus/compress 和以下默认压缩器压缩 HtmlCSSJavascript 内容的中间件

需求

安装

此包可以通过 Composer 以 middlewares/minifier 的方式安装和自动加载。

composer require middlewares/minifier

示例

Dispatcher::run([
    Middlewares\Minifier::html(),
    Middlewares\Minifier::css(),
    Middlewares\Minifier::js(),
]);

用法

此中间件使用实现 WyriHaximus\Compress\CompressorInterface 的任何压缩器压缩 http 响应的代码。代码格式从 Content-Type 头部检测,因此请确保您的响应包含此头部(您可能想使用 middlewares/negotiation 来完成此操作)。

use WyriHaximus\HtmlCompress\Factory;

$compressor = Factory::construct();
$mimeType = 'text/html';

$minifier = new Middlewares\Minifier($compressor, $mimeType);

可选地,您可以将 Psr\Http\Message\StreamFactoryInterface 作为第三个参数提供,以创建响应体。如果未定义,则 Middleware\Utils\Factory 将自动检测。

$streamFactory = new MyOwnStreamFactory();

$minifier = new Middlewares\Minifier($compressor, $mimeType, $streamFactory);

辅助函数

提供了三个静态函数,用于使用针对 html、css 和 js 响应的常见配置创建此中间件的实例

$htmlMinifier = Middlewares\Minifier::html();
$cssMinifier = Middlewares\Minifier::css();
$jsMinifier = Middlewares\Minifier::js();

有关最近更改的更多信息,请参阅 CHANGELOG,有关贡献细节的更多信息,请参阅 CONTRIBUTING

MIT 许可证(MIT)。有关更多信息,请参阅 LICENSE