arafatkhairul / laravel-page-speed
Laravel Page Speed
Requires
- php: ^7.2|^8.3
- illuminate/support: ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- mockery/mockery: >=0.9.4
- orchestra/testbench: ^4.0|^5.0|^6.0|^7.0|^8.0|^9.0
- phpunit/phpunit: ^8.0|^9.3|^10.4
- squizlabs/php_codesniffer: ^2.3
This package is auto-updated.
Last update: 2024-09-09 18:43:57 UTC
README
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,); })
之前
之后
路线图:过滤器
配置
安装包后,您可能需要配置一些选项。
禁用服务
您可能想设置本地环境以获得可读的输出。
//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)。有关更多信息,请参阅许可证文件。