ابـراهــیم
ابـراهــیم
خواندن ۲ دقیقه·۲ سال پیش

6) نحوه ویرایش head در Nextjs

در Nextjs می تونیم <head> هر صفحه رو ویرایش و سفارشی سازی کنیم. قراره توی این درس یاد بگیریم که چطور این کار رو انجام بدیم:


معرفی <Head>

یکی دیگر از کامپوننت های از پیش تعریف شده Nextjs هست که برای ویرایش کردن <head> هر صفحه به کار میره. درون این کامپوننت می تونید از تمامی عناصر قابل استفاده درون <head> استفاده کنید.

برای مثال کامپوننت posts.js رو به این صورت ویرایش کنید:

در اینجا ما <Head> رو از Nextjs فراخوانی کردیم و برای اینکه با بقیه عناصر تداخل نداشته باشه، با استفاده از React Fragment درون کامپوننت خودمون استفادش کردیم.

اگه به آدرس localhost:3000/posts برید، می بینید که عنوان صفحه به "پست ها" تغییر کرده:


معرفی </ Script>

برای استفاده از فایل های اسکریپتی خارج از پروژه از این کامپوننت استفاده میشه. به علاوه دارای خصوصیاتی برای مدیریت نحوه لود شدن اسکریپت هست. برای استفاده از این کامپوننت، کافیه posts.js رو به این صورت ویرایش کنید:

خارج از <Head> قرار بدید
خارج از <Head> قرار بدید


در این جا من از CDN کتابخانه tailwind css استفاده کردم و ظاهر متن رو به این شکل تغییر دادم:


کاربرد دو خصوصیت جدید درون </ Script> به این صورت هست:

  • خصوصیت Strategy: نوع لود شدن اسکریپت رو مدیریت می کنه. در این مقدار lazyOnload به Nextjs میگه که هر وقت تمام صفحه رو رندر کردی و دستت آزاد شد، این اسکریپت رو لود و اجرا کن.
  • خصوصیت onLoad: وقتی که اسکریپت کاملا لود بشه، محتویات این خصوصیت اجرا میشه. در مثال ما متنی در کنسول بعد از لود شدن اسکریپت نوشته میشه. البته این قابلیت مختص به Nextjs نیست و به صورت پیشفرض در جاوااسکریپت وجود داره.
توجه کنید که برای اینکه </ Script> بتونه اجرا بشه باید بیرون از <Head> قرارش بدیم.


در ضمن اگه نیازی به مدیریت نحوه لود شدن اسکریپت ندارید، می تونید از <script> به صورت عادی درون <Head> استفاده کنید:

داخل <Head> قرارش بدید
داخل <Head> قرارش بدید



منابع

Metadata

Using the Script Component

nextjsscriptsmetadata
ساده بگیر ولی دستِ کم نگیر
شاید از این پست‌ها خوشتان بیاید