כיצד לשלב עובדי שירות ביישומי Next.js

כיצד לשלב עובדי שירות ביישומי Next.js
קוראים כמוך עוזרים לתמוך ב-MUO. כאשר אתה מבצע רכישה באמצעות קישורים באתר שלנו, אנו עשויים להרוויח עמלת שותף. קרא עוד.

עובדי שירות הם סקריפטים שפועלים ברקע כדי לספק יכולות אחסון במטמון חזקות ותכונות אחרות ליישומי אינטרנט מודרניים.





תכונות אלו מביאות את החוויה החלקה והידידותית למשתמש של אפליקציות מקוריות לדפדפן האינטרנט.





עובדי שירות הם מרכיב בסיסי ביצירת אפליקציות אינטרנט פרוגרסיביות (PWA).





האם אני יכול להשתמש בזיכרון ראם של 4 ג'יגה -בתים ו -8 ג'יגה -בתים יחד

הבנת עובדי שירות

עובד שירות הוא סוג של עובד אינטרנט של JavaScript שפועל ברקע, בנפרד מהשרשור הראשי של JavaScript, כך שהוא לא חוסם. המשמעות היא שהיא אינה גורמת לעיכובים או להפרעות בממשק המשתמש של האפליקציה או באינטראקציה של המשתמש איתה.

מסך מגע אחד של alcatel לא עובד
 תצוגת מחשב נייד עם קוד על המסך ומחזיק עט עם עטים בצד.

עובדי שירות מתפקדים כשרתי פרוקסי - יושבים בין יישומי אינטרנט לרשת. הם יכולים ליירט בקשות ותגובות, לשמור משאבים במטמון ולספק תמיכה לא מקוונת. זה עוזר להבטיח שאפליקציות אינטרנט ירגישו יותר חלקות וידידותיות למשתמש, גם כשהמשתמש אינו מקוון.



יישומים מרכזיים לעובדי שירות

ישנן מספר יישומים עבור עובדי שירות. הם כוללים:

  • PWAs: עובדי שירות מספקים כוח רב לאפליקציות אינטרנט פרוגרסיביות. הם מבצעים בקשות רשת מותאמות אישית, הודעות דחיפה, תמיכה במצב לא מקוון וטעינה מהירה.
  • שמירה במטמון: עובדי שירות יכולים לאחסן את נכסי האפליקציה - תמונות, קוד JavaScript וקובצי CSS - באחסון המטמון של הדפדפן. זה מאפשר לדפדפן לאחזר אותם מהמטמון שלו במקום להביא אותם מהשרת המרוחק דרך הרשת. כתוצאה מכך, התוכן נטען מהר יותר, וזה שימושי במיוחד עבור משתמשים עם חיבורי אינטרנט איטיים או לא אמינים.
  • סנכרון ברקע: עובדי שירות יכולים לסנכרן נתונים ולהפעיל משימות רקע אחרות, גם כאשר המשתמש אינו מקיים אינטראקציה פעילה עם האפליקציה או כאשר האפליקציה אינה פתוחה בדפדפן.

שילוב עובדי שירות ביישומי Next.js

לפני שצולל לתוך הקוד, זה עוזר להבין איך עובדי שירות עובדים. ישנם שני שלבים מרכזיים בשימוש בעובדי שירות: הַרשָׁמָה ו הַפעָלָה .





במהלך השלב הראשון, הדפדפן רושם את עובד השירות. הנה דוגמה פשוטה:

שירותי Google Play ממשיכים לעצור את 2018
const registerServiceWorker = async () => { 
  if ("serviceWorker" in navigator) {
    registration = await navigator.serviceWorker.register("/sw.js");
  }
};

registerServiceWorker();

הקוד בודק תחילה אם הדפדפן תומך בעובדי שירות, מה שעושים כל דפדפני האינטרנט המודרניים. אם תמיכה זו קיימת, הוא ממשיך לרשום שירות עובד שנמצא בנתיב הקובץ שצוין.





בשלב ההפעלה, עליך להתקין ולהפעיל שירות עובד על ידי האזנה ל- להתקין ו לְהַפְעִיל אירועים באמצעות מאזיני אירועי JavaScript . הנה איך אתה יכול להשיג זאת:

registration.addEventListener("install", () => { 
    console.log("Service worker installed");
});

registration.addEventListener("activate", () => {
    console.log("Service worker activated");
});

אתה יכול לכלול קוד זה מיד לאחר תהליך ההרשמה. זה אמור לפעול מיד לאחר שתהליך הרישום של Service Worker הצליח.