Next.js/pages

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

الصفحات في Next.js

الصفحة هي مكوّن رياكت مصدر عن ملفات موجودة في المجلد pages وتمتلك إحدى الامتدادات التالية: .js أو .jsx أو .ts أو .tsx. تقترن كل صفحة بمسار يتعلق باسم الملف، فلو أنشأت على سبيل المثال الملف pages/about.js الذي يصّدر مكوّن رياكت التالي، ستتمكن من الوصول إليه من خلال العنوان /about.

function About() {
  return <div>About</div>
}

export default About

صفحات بمسارات ديناميكية: تدعم المسارات الديناميكية للصفحات. فإن انشأت الملف pages/posts/[id].js مثلًا ، أمكنك الوصول إليه بكتابة العنوان posts/1 أو posts/2 وهكذا.

التصيير الأولي للصفحات

تصيّر Next.js الصفحات بشكل أولّي pre-render، ويعني ذلك توليد شيفرة HTML لكل صفحة مسبقًا بدلًا من إلقاء الحمل كاملًا على محّرك جافا سكربت الذي يعمل من طرف العميل. وقد يُحسّن هذا الأمر الأداء، كما يُحسن ترتيب ظهور الصفحة في محرّكات البحث SEO (سيو أفضل).

تُزوَّد شيفرة HTML المولَّدة لكل صفحة بحد أدنى من شيفرة جافا سكربت الضرورية لعملها. وعندما يُحمّل المتصفح الصفحة، ستُنفَّذ شيفرة جافا سكربت لتمنح الصفحة تفاعلية أكبر (تُدعى هذه العملية بالترطيب hydration).

نمطي التصيير الأولي

للتصيير الأولي في Next.js نمطين هما: التوليد الساكن Static Generation والتصيير من جانب الخادم Server-side Rendering ويقتصر الفارق بينهما على اللحظة التي توّّلد فيها شيفرة HTML.

  • التوليد الساكن (مُستحسن): توّلد شيفرة HTML وفق هذا النمط أثناء بناء الصفحة ويُعاد استخدامها عند كل طلب.
  • التصيير من جانب الخادم: توّلد شيفرة HTML عند كل طلب.

تمنحك Next.js القدرة على اختيار نمط التصيير الأولي لكل صفحة ،و بالتالي ستتمكن من بناء تطبيقات هجينة عندما تستخدم التوليد الساكن لمعظم صفحاته وتجعل تصيير بعضها الآخر من جانب الخادم.

ننصح باستخدام التوليد الساكن للشيفرة مقابل التصيير من جانب الخادم لأسباب تتعلق بالأداء. إذ يمكن أن تخزّن الصفحات الموّلدة بالنمط الساكن في شبكات توزيع المحتوى CDN دون أي إعدادات إضافية مما يعزز الأداء. لكن قد تجد أن التصيير من جانب الخادم هو الخيار الوحيد في بعض الحالات.