本站的主題是商業,創業,美食,葡萄酒,閱讀,網路科技。
這是我的 FB粉專 以及 IG,我比較常使用 Threads,歡迎大家追蹤互動~
圖片來源 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 ^^
本站的主題是商業,創業,美食,葡萄酒,閱讀,網路科技。