Spatie Laravel Image Optimizer 圖片優化
Laravel PHP

Spatie Laravel Image Optimizer 圖片優化

圖片來源 https://github.com/laravel/laravel

https://laravel-news.com/spatie-laravel-image-optimizer
絕大部分的 web 應用,在上傳圖片時,應該都要做優化 optimize 的動作。所謂 optimize, 就是在最少畫質的損失下,減少圖片的檔案大小。larry 之前是使用 OptiPNG 這個套件,前幾個月看到 Laravel News 介紹了一款包裝成 Laravel 套件的 image optimizer, 就是本篇的主題。

回到這套件的官方頁面,開始安裝
https://github.com/spatie/laravel-image-optimizer

在安裝這個 Laravel Image Optimizer 之前或之後,應該要裝
https://github.com/spatie/image-optimizer
中條列的幾個套件
sudo apt-get install jpegoptim
sudo apt-get install optipng
sudo apt-get install pngquant
sudo npm install -g svgo
sudo apt-get install gifsicle

因為 larry 是以 PHP 為主,環境中不一定會有 npm, 所以沒裝 svgo, 從字面上可以看出來他是優化 svg 檔案的,很少 web 應用會不斷地上傳 svg 檔案,所以不裝 svgo 一般來說沒有問題。

這個 Laravel Image Optimizer 很貼心的寫好了 Laravel Middleware, 在你的 app/Http/Kernel.php 填上

protected $routeMiddleware = [
   ...
   'your_middleware_name' => SpatieLaravelImageOptimizerMiddlewaresOptimizeImages::class,
];

在你的 controller 裡如果有用這個 middleware, 該 controller 底下所有 handler 在儲存圖片時都會經過優化,不用再額外寫 code ^^

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。