October 30, 2024
·
6 دقيقة للقراءة
·بقلم Mostafa Aljazar

بناء CMS لمعرض أعمال باستخدام Next.js وملفات JSON المحلية

من قال إنك تحتاج قاعدة بيانات لموقعك الشخصي؟ إليك كيف بنيت CMS متكاملاً باستخدام ملفات JSON وServer Actions وتخزين Next.js المؤقت.

معظم دروس معارض الأعمال تلجأ فوراً إلى قاعدة بيانات. لكن لموقع شخصي بمسؤول واحد، تُضيف قاعدة البيانات تعقيد البنية التحتية دون فائدة حقيقية. ملفات JSON على نظام الملفات، مع Server Actions في Next.js وrevalidatePath، تمنحك نفس تجربة المطور بدون أي عبء تشغيلي.

طبقة البيانات

دالتان مساعدتان — readData<T>(filename) وwriteData<T>(filename, data) — تُغلّفان fs.promises.readFile وwriteFile. كل وحدة بيانات (projects.ts وskills.ts وblogs.ts) تستدعيهما بتعميمات محددة النوع. بسيط ومتسق وسهل الاستبدال بقاعدة بيانات حقيقية لاحقاً.

إبطال التخزين المؤقت مع revalidatePath

بعد كل كتابة، استدعِ revalidatePath('/') والمسار الفرعي ذي الصلة. يُنقّي Next.js الحمولة المخزّنة مؤقتاً لـ RSC، ويعكس تحميل الصفحة التالي التحديث فوراً. لا استطلاع، لا webhooks، لا تعقيد.

متى تنتقل إلى قاعدة بيانات

إذا كنت تحتاج محررين متزامنين متعددين، أو تحكماً في الوصول على مستوى الصف، أو بحثاً في النص الكامل، أو منصة نشر لا تدعم نظام الملفات القابل للكتابة، فقد حان الوقت لقاعدة بيانات. حتى ذلك الحين، ملفات JSON مناسبة تماماً — وهي قابلة للإدارة في git بشكل تلقائي.

Mostafa Aljazar

مطور واجهات أمامية شغوف ببناء تجارب ويب عالية الأداء وقابلة للوصول وجميلة باستخدام React.js وNext.js.

لنبني شيئاً رائعاً معاً

تواصل

iconicon

© 2026 Mostafa Aljazar. جميع الحقوق محفوظة.

مبني بـ Next.js و Tailwind CSS