
npm i -g בשם northwind backend. הפקודה npm -g root מראה איפה מותקנות חבילות גלובליות במחשב. פותחים את התיקייה שלו בסייר הקבצים.EmployeesController מוצאים את הפונקציה שמחזירה את כל העובדים. מעתיקים מקובץ הקטגוריות (שכבר חסום) את הגדרת המשתנה verifyLoggedIn שנטען עם require מתיקיית ה-middleware, ומוסיפים אותו מיד אחרי הראוט, עם פסיק.northwind, כי בלי זה השרת לא יודע על השינוי.Request failed with status code 401.הטקסט המלא של הדקות הראשונות בהרצאה «ריאקט - Blocking Backend Route» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אוקיי, אז מה הדבר הבא? אנחנו בנינו את כל התשתית של Redux, אנחנו בנינו סרוויס שמטפל בזה, בנינו שלוש קומפוננטות: רג'יסטר, לוג-אין ולוג-אאוט, אבל לפני שנתחיל לשלב אותם פה עם תפריט וכו', לא הגיוני שיהיה לנו בכלל רג'יסטר, לוג-אין ולוג-אאוט אם האתר מאפשר לנו להיכנס לכל מקום,
אם ה-Back-End לא חוסם אותנו. ואם אני מסתכל על האתר הזה, אז יש לנו את ה-Home, יש לנו את המוצרים, וכשאני גולש אליהם, אז אחרי שלוש שניות הוא מביא לי אותם.
והאתר מביא לי פרטים של מוצר בודד ומאפשר to edit ו-to delete את המוצר. אנחנו יכולים to edit את המוצר, אנחנו יכולים to delete את המוצר, אנחנו יכולים להוסיף מוצר חדש.
אם אני מסתכל על העובדים, בבקשה, האתר מביא לי את העובדים, ה-Backend מנגיש לי אותם. יש לי פה את ה-Support ויש לי את ה-Contact Us.
אני לא רואה שום בעיה שצריכה כאן Register, Login, Logout. אנחנו רוצים שנייה אחת לעצור ללכת לשרת הזה ולעשות פה איזשהו צ'יינג' שיתאים לנו כאילו שהשרת הזה כן דורש לוג אין עבור משהו שקיים כאן.
בואו ניקח את האמפלואיז בואו נגיד שאין שום בעיה לקבל מוצרים אם אתה לא לוג דין כל אחד יכול לראות את המוצרים אבל בשביל לראות את העובדים אתה חייב להיות לוג דין מינימום בסדר אז איך אנחנו משנים את זה הרי לא אנחנו כתבנו את הבק אנד הזה טוב, זה הראוט שאנחנו רוצים לשנות.
אנחנו צריכים לגשת לקוד הזה ולהוסיף שם איזושהי פקודה מסוימת בשביל לחסום את הראוט לכניסה, אלא אם כן אתה לוקדין. קודם כל, איפה הקוד הזה בכלל נמצא?
אנחנו התקנו אותו על ידי פקודת npm, פקודה שהשתמשנו בשביל להתקין. אולי רגע אני אסגור אותו. בוא תסגור לי אותו, יס, ותפתח לי טרמינל רגיל לגמרי.
כאילו השתמשנו בפקודה שנקראת npm i-g והשם של ה-backend הזה היה Northwind backend. אני לא אתקין אותו כי הוא כבר מותקן. אוקיי, זה התקין לנו ספציפית את החבילה הזאת.
אם אנחנו רוצים לדעת איפה הוא מותקן במחשב, כל מחשב הוא יכול להיות מותקן במקום אחר, פקודת הבדיקה זה npm -g root. זאת פקודה שפשוט אומרת לנו איפה במחשב הנוכחי מותקנות ההתקנות הגלובליות.
הנה הנתיב. בואו ניקח את הנתיב הזה, נפתח סייר הקבצים ונגלוש אליו. גו. ופה אני רואה שיש לנו את המנגנון של טייפ סקריפט, את React CLI Snippets, זה מה שתמיד היינו רושמים קריאייט בטרמינל, React בעצמה ואת ה-Backend הזה. הנה ה-Backend
מותקן, בואו ניכנס אליו. ופה אנחנו ציפה צריכים לדעת כמובן איך הוא בנוי, אבל אני כבר יודע איך הוא בנוי. אנחנו נכנסים לתוך ה-Backend, לתוך הקונטרולרים, ואנחנו צריכים קונטרולר בשם EmployeesController.
קונטרולר פשוט מאוד זה הרכיב שמקבל את הבקשות ומחזיר את התשובות. מקבל את ה-request ומחזיר רספונס. ואנחנו צריכים לחפש את הפונקציה שמחזירה את כל העובדים, הנה היא, ולחסום אותה.
אנחנו נמצאים כרגע בקוד שנקרא Node.js. קצת סוטים טיפה מ-react רק בשביל להוסיף לכאן פקודה קטנטנה אחת. ואם יש לכם את זה בבית, אתם מוזמנים גם כן לעשות את זה בשביל לחסום את העובדים.
נדמה לי שהקטגוריות חסומות. בואו רגע נסתכל רגע על הקטגוריות. הנה זה, Verify Logged In, אז אני מעתיק את השורה הזאת ומדביק פה, אדביק אותה כאן נניח.
זאת פקודה שכרגע הוספתי, ממש בול הפקודה הזאת אני צריך, איזשהו משתנה שאני אקרא לו Verify Logged In, ויש לי פה פקודת Required, שזה מקביל אימפורט ואנחנו הולכים אחד למעלה למשהו שנקרא מידלווייר ויש שם איזה רכיב או מנגנון שנקרא וריפאי לוגדין והוא בעצם אחראי שהיוזר הוא לוגדין.
אנחנו צריכים לחסום את הראוט הזה על ידי שימוש המשתנה הזה וזה מתבצע בדיוק כאן עם כמובן פסיק אחרי. זאת אומרת יש לי פה את הראוט של האמפלואיז ומיד אחריו, מיד אחרי הפסיק הזה שמתי Verify Logged In ופה ממשיכה פונקציה שהייתה גם ככה.
אני שומר את זה כמובן ושימו לב שסתם פתחתי את זה עם Notepad,