arafatkhairul/laravel-page-speed

dev-main 2024-08-09 18:24 UTC

This package is auto-updated.

Last update: 2024-09-09 18:43:57 UTC


README

Laravel Page Speed logo

Laravel Page Speed

这是一个简单的包,可按需压缩HTML输出,从而实现60%以上的优化。

安装

您可以通过composer安装此包

$ composer require arafatkhairul/laravel-page-speed

Laravel 5.5及以上

Laravel 5.5及以上使用包自动发现功能,因此不需要您手动添加ServiceProvider。

Laravel 5.4或5.3

将ServiceProvider添加到config/app.php中的providers数组中

ArafatIslamKhairul\LaravelPageSpeed\ServiceProvider::class

这是发布配置文件所必需的

发布配置文件

php artisan vendor:publish --provider="ArafatIslamKhairul\LaravelPageSpeed\ServiceProvider"

请记住注册中间件

接下来,需要在kernel中注册\ArafatIslamKhairul\LaravelPageSpeed\Middleware\CollapseWhitespace::class和其他中间件

//app/Http/Kernel.php

->withMiddleware(function (Middleware $middleware) {
        $middleware->append(\ArafatIslamKhairul\LaravelPageSpeed\Middleware\InlineCss::class,);
        $middleware->append(\ArafatIslamKhairul\LaravelPageSpeed\Middleware\ElideAttributes::class,);
        $middleware->append(\ArafatIslamKhairul\LaravelPageSpeed\Middleware\InsertDNSPrefetch::class,);
        $middleware->append(\ArafatIslamKhairul\LaravelPageSpeed\Middleware\RemoveComments::class,);
        $middleware->append(\ArafatIslamKhairul\LaravelPageSpeed\Middleware\TrimUrls::class,);
        $middleware->append(\ArafatIslamKhairul\LaravelPageSpeed\Middleware\RemoveQuotes::class,);
        $middleware->append(\ArafatIslamKhairul\LaravelPageSpeed\Middleware\CollapseWhitespace::class,);
})

之前

Before of Laravel Page Speed

之后

After of Laravel Page Speed

路线图:过滤器

配置

安装包后,您可能需要配置一些选项。

禁用服务

您可能想设置本地环境以获得可读的输出。

//config/laravel-page-speed.php

//Set this field to false to disable the laravel page speed service.
'enable' => env('LARAVEL_PAGE_SPEED_ENABLE', true),

跳过路由

您可能想配置包以跳过一些路由。

//config/laravel-page-speed.php

//You can use * as wildcard.
'skip' => [
    '*.pdf', //Ignore all routes with final .pdf
    '*/downloads/*',//Ignore all routes that contain 'downloads'
    'assets/*', // Ignore all routes with the 'assets' prefix
];

默认情况下,此字段已配置了一些选项,因此请根据您的需求进行配置...

注意:此包会自动跳过'bina ry'和'streamed'响应。请参阅文件下载

警告

\ArafatIslamKhairul\LaravelPageSpeed\Middleware\TrimUrls::class被认为是中等风险。如果它使用了错误的基准URL,可能会引起问题。例如,如果您提供将被原封不动地粘贴到其他HTML页面中的HTML,就会发生这种情况。如果在第一页上修剪URL,它们将不适合插入的页面。在这种情况下,只需禁用中间件即可。

测试

$ composer test

贡献

有关详细信息,请参阅CONTRIBUTING

鸣谢

灵感

Mod Page Speed (https://www.modpagespeed.com/)

许可证

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