Next.js มีคุณลักษณะการ optimize รูปภาพในตัวที่เรียกว่า Image Component (next/image) ซึ่งจะทำการ optimize รูปภาพโดยอัตโนมัติเมื่อผู้ใช้ร้องขอ
Image Component รองรับการ optimize รูปภาพในรูปแบบต่างๆ ดังต่อไปนี้:
- Compression: Image Component จะทำการบีบอัดรูปภาพโดยใช้ algorithm ที่เหมาะสมที่สุดสำหรับแต่ละรูปแบบของรูปภาพ
- Resizing: Image Component จะทำการ resize รูปภาพให้เหมาะสมกับขนาดของอุปกรณ์ที่แสดง
- Lazy loading: Image Component จะทำการ lazy loading รูปภาพ ซึ่งหมายความว่ารูปภาพจะไม่ถูกโหลดจนกว่าผู้ใช้จะ scroll ไปจนเห็นรูปภาพนั้น
- WebP: Image Component จะทำการ serve รูปภาพในรูปแบบ WebP ให้กับเบราว์เซอร์ที่รองรับ ซึ่งจะช่วยเพิ่มประสิทธิภาพของหน้าเว็บ
คุณสามารถใช้ Image Component ง่ายๆ ดังนี้:
1 | import React from 'react'; |
ในตัวอย่างนี้ Image Component จะทำการ optimize รูปภาพ /images/my-image.jpg
และแสดงรูปภาพนั้นในหน้าเว็บ
คุณยังสามารถกำหนดค่าเพิ่มเติมให้กับ Image Component ได้ เช่น คุณภาพของรูปภาพ ขอบเขตของรูปภาพ และอื่นๆ อีกมากมาย คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Image Component ได้จากเอกสารประกอบของ Next.js
Here are some of the benefits of using Next.js Image Optimization:
- Improves page load speed: Image optimization can significantly improve the load speed of your pages, which can improve the user experience and SEO.
- Reduces bandwidth usage: Image optimization can help to reduce the amount of bandwidth that is used to load your pages, which can save you money on hosting costs.
- Improves SEO: Image optimization can help to improve your pages’ SEO ranking, as search engines prefer pages that load quickly and use less bandwidth.
If you’re looking to improve the performance of your Next.js pages, I recommend using Image Optimization. It’s a simple and effective way to improve the load speed, bandwidth usage, and SEO of your pages.