الأصول الثابتة في مجلد `public`

يمكن لـ Next.js تقديم ملفات ثابتة مثل الصور تحت مجلد يسمى public في الدليل الجذري. يمكن بعد ذلك الإشارة إلى الملفات داخل public بواسطة الكود الخاص بك بدءًا من عنوان URL الأساسي (/).

على سبيل المثال، يمكن عرض الملف public/avatars/me.png عن طريق زيارة المسار /avatars/me.png. قد يبدو الكود لعرض تلك الصورة كما يلي:

avatar.js
import Image from 'next/image'

export function Avatar({ id, alt }) {
  return <Image src={`/avatars/${id}.png`} alt={alt} width="64" height="64" />
}

export function AvatarOfMe() {
  return <Avatar id="me" alt="A portrait of me" />
}

التخزين المؤقت

لا يمكن لـ Next.js تخزين الأصول في مجلد public بشكل آمن لأنها قد تتغير. رؤوس التخزين المؤقت الافتراضية المطبقة هي:

Cache-Control: public, max-age=0

ملفات الروبوتات، الأيقونات المفضلة وغيرها

بالنسبة لملفات البيانات الوصفية الثابتة مثل robots.txt، favicon.ico وغيرها، يجب عليك استخدام ملفات بيانات وصفية خاصة داخل مجلد app.

معلومة مفيدة:

  • يجب أن يسمى المجلد public. لا يمكن تغيير الاسم وهو المجلد الوحيد المستخدم لتقديم الأصول الثابتة.
  • فقط الأصول الموجودة في مجلد public أثناء وقت البناء سيتم تقديمها بواسطة Next.js. الملفات المضافة أثناء وقت الطلب لن تكون متاحة. نوصي باستخدام خدمة طرف ثالث مثل Vercel Blob لتخزين الملفات بشكل دائم.