تخديم الملفات الساكنة في Next.js
تستطيع Next.js تخديم الملفات الساكنة مثل الصور الموجودة في المجلد public
ضمن المجلد الجذري. يمكن الإشارة عندها إلى تلك الملفات باسم الملف يسبقه عنوان URL للجذر (/
).
لو أضفت الصورة me.png
مثلًا إلى المجلد public
، ستتمكن من الوصول إليها من خلال الشيفرة التالية:
import Image from 'next/image'
function Avatar() {
return <Image src="/me.png" alt="me" width="64" height="64" />
}
export default Avatar
ملاحظة: يتطلب استخدام المكتبة next/image
النسخة 10 وما بعدها من Next.js.
لهذا المجلد فائدته في احتواء ملفات أخرى مثل robots.txt
و favicon.ico
وتقنية Google للتحقق من المواقع Google Site Verification وغيرها من الملفات الساكنة بما فيها ملفات html.
.
ملاحظة: لا تسمي المجلد public
بأي اسم آخر. فلا يمكن تغيير اسم هذا المجلد وهو المجلد الوحيد الذي يخدّم التطبيق بالملفات الساكنة.
ملاحظة: تأكد من عدم تسمية أي ملف موجود في المجلد public
بنفس اسم ملف موجود في المجلد /pages
، إذ يسبب ذلك خطأً.
ملاحظة: تخدّم أثناء بناء التطبيق الموجودات في المجلد لكنها لن تخدم الموجودات التي تتاح أثناء التنفيذ. ننصح باستخدام خدمات مصدرها طرف آخر مثل AWS S3 لتخديم الملفات المخزنة دون انقطاع.
المصادر
- الصفحة Static file serving من توثيق Next.js الرسمي.