pooria vakili
pooria vakili
خواندن ۵ دقیقه·۲ سال پیش

ارورها در فریم ورک ناکس


می آموزیم چگونه ارور درلایف سایکل های مختلف ایجاد کنیم

ناکس 3 یک فریم ورک فول استک است، به این معنی است که موجود است در چندین سورس در سمت کاربر ران تایم های ایجاد می کند که این ارورها می تواند در کانتکس های مختلف به وقوع می پیوندد

1) ارورهایی که سمت لایف سایکل ها به صورت (spa-ssr) رندر می شود

2) اروهای که درسمت nitro server هستند

3) ارورهای که درسمت کلاینت (spa,ssr) هستند.

4) دانلود ارورها در سمت jschunks

ارورهای که درسمت لایف سایکل های ویوجی اس به صورت (spa,ssr) رندر می شوند

شما می توانید هوک هایی اروری در سمت ویو استفاده کنید

در طولانی مدت،فریم ورک ناکس از هوک های vue:error پشتیبانی می کند که به منظور تعامل با ارور های سطح بالا است

اگر شما استفاده می کنید ارورهایی در سمت فریم ورک ،شما می توانید پشتیبانی کنید از گلوبال هندلرهایی که سمت vueApp.config.errorHandler پشتیبانی می شود

ارورهای که درسمت سرور وکلاینت است (Spa,ssr)

فریم ورک ناکس قصد دارد با هوک های موجود در صورت وجود تماس بگیرد و در صورت شروع خطایی که در اپلیکیشن های ناکس رخ می دهد،آن را اعلام کند.

شامل می شود

1) پلاگین های که در سمت فریم ورک ناکس ایجاد می شود

2) رندر می کنید شما vueApp به html که در سرور است

3) اپلیکیشن های که در همان زمان mount شدن در سمت کلاینت نشان داده می شود و شما باید در صورت بروز خطا، از onErrorCaptured یا vue:error استفاده کنید.

4) هوک هایی که در سمت پردازش به سمت mount:app می رود.

ارور های که به صورت api یا در سمت سرور لایف سایکل های nitro است

شما نمی توانید در حال حاضر سرورساید های دیفان و هندل کنید،اما می توانید رندر های که در سمت صفحه است

Errors downloading JS chunks

شما ممکن است رویارویی داشته باشید با ارورهای chunk که در شبکه کانکت می شود و دیپلوی جدید ( که در گذشته آن را لود کردید) وهم چنین url هایی که در js chunk فرستاده می شوند، مواجه شوید.

فریم ورک ناکس قابلیت ایجاد و پشتیبانی از chunk هایی که به صورت لود شده اند را دارند. مشکلات پرفورمنس و نوگیشن در مسیرهای روت معمولا به علت این chunk ها است.

شما می توانید تغییر دهید رفتاری که در تنظیمات experimental.emitRouteChunkError که false و ( هوک هایی که خوانده نمی شود یا ارورهایی که درهمه جا وجود دارد) ویا به صورت معمولی اگر سپس شما خودتان می خواهید هندل کنید. اگر شما می خواهید chunkها هندل کنید ارورهای است که معولا در سمت لودینگ می فرستید، شما می توانید اتوماتیک ایده هایی که وجود دارد چک کنید.

Rendering an Error Page

موقعی که فریم ورک ناکس برخورد می کنید وبا لایف سایکل هاش کار می کنید موقعی که در سمت اپلکیشن ویو رندر می شود (spa,ssr) است،می خواهید یک json ریسپانس کنید ( اگر ریکوئستی که میفرستاد پذیرفته شود درسمت header application/json) واروری که در سمت صفحه html وجود دارد.

شما می توانید شخصی سازی کنید صفحات اروری که اضافه می شود در سمت error.vue سورس دایرکتوری که در سمت اپلکیشن هستند که در app.vue وجود دارد. این صفحات در یک prop که شامل ارورهای که هندل می شود.

موقعی که شما آمادگی دارید صفحه هات ارور پاک کنید ، شما می توانید در تماس باشید با clear error هایی که در سمت متود به شما کمک میکند،که می گیرد option هایی که در سمت path رندر می شوند (که به طور مثال در safe page navigation) می باشد.

use error

Create Error


شما می توانید متودهای در این سمت استفاده کنید که می تواند ارورهای جدید در سمت meta data ایجاد کند.این است قابل استفاده در ویوجی اس وNitro و اپ های که وجود دارد به این معنی برگردانده می شود.

اگرشما خطا برگردانید، وارورهای جدید در creatError ایجاد کنید

در سرور ساید آن می خواهید trigger full screen ارور هایی که در صفحاتی که می توانید با clear error پاک کنید

در کلاینت ساید شما می خواهید،صفحاتی که درسمت ارورهای none-fatal است اگر شما می خواهید هندل کنید نیاز دارید به trigger a full-screen که ارورهای صفحه می خواند،سپس شما می توانید به تنظیمات در fatal:true انجام می دهید

show Errror

شما می توانید به متود های در تماس باشید که پوینت بندی در کلاینت سایت یا سرور سایت می کند ودایرکت می شود به میدلور هایی که پلاگینش در متود setup() وجود دارد.شما می خواهید trigger a full-screen صفحات اروری که می توانید پاک کنید در clear error ایجاد کنید

Clear error

این است متود هایی می خواهید در حال حاضر در سمت handle nuxt error تمیز کند.اگر بنابراین option هایی که به سمتpath ریدارکت می کنید که به طور مثال اگر شما می خواهید در safe page نویگیت کنید

ارورهای که در سمت اپ رندر می شود

تگ <NuxtErrorBoundary> یک کامپونت است که به شما اجازه می دهد در سمت پروژه های کلاینت خود با خطاها برخورد کنید وبه جای صفحات خطا موجود در وب سایت،ازآن استفاده کنید.

این کامپونت های است که responsible می شود ارورهای که هندل وبه وقوع می پیوندد در اسلات های که به صورت default وجود دارد.در کلاینت این می خواهید جلوگیری کنید ارورهای که درسمت بالا وجود دارد و رندر میکنید در اسلاتی که در #error وجود دارد.

ارورهای که درسمت slot به صورت prop می فرستید (اگر شما ست کنید در trigger ری رندر می شود و این error=null باشد و اون slot به صورت default باشد شما نیاز دارید به این ارورهای که به طور کامل حل شده است واولین ارورهای که در اسلات می خواهید فقط در بار دوم رندر کنید



منابع این پست

https://nuxt.com/docs/getting-started/error-handling



فریم ورکnuxterrorjs
Midlevel Front-End Developer |Frontend developer proficient in HTML, CSS, JS, TypeScript, React, Vue.js| Experienced with Nuxt.js, Next.js
شاید از این پست‌ها خوشتان بیاید