Tối ưu hóa HTML, thường giữ rất nhiều khoảng trống theo như coding standard. Tuy nhiên, trình duyệt không quan tâm đến khoảng trắng đó. Vậy nên khi đưa sản phẩm lên production, chúng ta hoàn toàn có thể loại bỏ các khoảng trống này để giảm kích thước file html mà trình duyệt phải download xuống.
HTML minification
Sử dụng middleware để unifying html mỗi khi nhận được requestTạo middleware
php artisan make:middleware HtmlMifier
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Response;
class HtmlMifier
{
public function handle($request, Closure $next)
{
$response = $next($request);
$contentType = $response->headers->get('Content-Type');
if (strpos($contentType, 'text/html') !== false) {
$response->setContent($this->minify($response->getContent()));
}
return $response;
}
public function minify($input)
{
$search = [
'/\>\s+/s',
'/\s+</s',
];
$replace = [
'> ',
' <',
];
return preg_replace($search, $replace, $input);
}
}
Thêm đoạn dòng phía sau vào mảng: $routeMiddleware
'HtmlMinifier' => \App\Http\Middleware\HtmlMifier::class,Sau khi thêm middleware vào kernel, chúng ta có thể sử dụng chúng trong route
Mỗi khi nhận được request dạng text/html thì file html của chúng ta sẽ được minify để giảm thiểu dung lượng mà browser phải download xuốngRoute::group(['middleware'=>'HtmlMinifier'], function() {// CODE HERE});
Nhận xét
Đăng nhận xét