
config.ts עם מחלקה Config שמכילה את התצורה הכללית של האתר.productsUrl ו-employeesUrl. המרצה מעדיף אובייקט urls בתוך המחלקה, שבו שדות כמו products ו-employees, ולכן אין צורך בסיומת url בשם כל שדה.const config = new Config() ומחצינים עם export default config. מחלקות מתחילות באות גדולה ואובייקטים באות קטנה. האובייקט קיים פעם אחת בכל האפליקציה.config מתיקיית services (ללא סוגריים מסולסלים כי זה default), ומשתמשים ב-config.urls.products.localhost, כלומר על המחשב המקומי. אחרי העלאה לשרת אמיתי בענן הן לא יהיו נכונות, וצריך כתובת אחרת. את זה פותרים בסרטון הבא.הטקסט המלא של הדקות הראשונות בהרצאה «יצירת מחלקה עם כל ההגדרות - Config Class - חלק 1» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
הדבר הבא שאנחנו הולכים לטפל בו זה ה-URL הזה, הלינק. מה הבעיה עם הלינק הזה? אז בואו נחשוב, יכול להיות מצב שבכל מיני מקומות בפרויקט, בכל האתר שאנחנו בונים, אנחנו רוצים לגלוש למוצרים.
אנחנו רוצים לגלוש למוצרים אולי בקומפורנט הזה של ה-Product List, אבל גם ב-Product Details, בוא תביא לי פרטים של מוצר בודד, ואולי בעוד כל מיני מקומות, ומה עם עוד כל מיני לינקים שיש לנו?
אולי אנחנו רוצים גם את העובדים ואת הקטגוריות ואנחנו רוצים רג'יסטר ולוגאין וגם קונטקט אסט מן הסתם? כל הלינקים האלה וכל לינק כזה, כל כתובת כזאת, אנחנו הולכים להשתמש איתה בכל מיני מקומות במערכת.
במקום לחזור על הקוד הזה בכל מיני מקומות, אולי בהמשך אנחנו נשנה אותו ואז אנחנו נצטרך ללכת ולחפש את כל המקומות שהשתמשנו בכתובת בשביל לשנות אותה, רוצים לדעת איפה אפשר לשים את כל ההגדרות האלה כל הלינקים האלה ועוד הגדרות נוספות במקום מרכזי אחד.
מה שאנחנו הולכים לעשות זה להשתמש בקונספט שלמדנו Services, איזה שהם מחלקות שיש בהם איזה שהוא אובייקט שמשרת אותנו ואנחנו הולכים ליצור איזה מחלקת סרוויס כזאת שתחזיק כל ההגדרות הכלליות שאנחנו רוצים באפליקציה שלנו.
נהוג שהשם שלה יהיה משהו שקשור לקונפיגורציה כללית. בואו נקרא לה פשוט מחלקה config.ts. config איזשהו קובץ כאן הולכת להיות קלאסט אנחנו נבנה אובייקט מהקלאס ונחצין את האובייקט והמטרה של המחלקה הזאת זה להכיל קונפיגורציה כללית ברמת כל האתר שלנו.
אם יש לנו מאפיינים כלליים כאלה, מאפייני תצורה כלליים, במקום לשים אותם בכל מיני מקומות באפליקציה, אנחנו פשוט שמים אותם במחלקה הזאת ומכל האפליקציה משתמשים בתצורה הזאת שנמצאת ב-classconfig שלנו.
הנה יש לנו פה classconfig ובתוכה אנחנו רוצים לבנות כל מיני הגדרות כלליות שאנחנו רוצים. אנחנו רוצים שיהיה לנו סדרה של url'ים, אז אנחנו יכולים כל url לבנות בתור משתנה, לדוגמה public, products url, מה הכתובת למוצרים ובואו נגדיר אותו ככתובת הזאת כמובן, בואו ניקח אותה רגע
ונשים אותה פה ובואו נגדיר לדוגמה employees url וזאת תהיה הכתובת של העובדים, מוצרים יש לנו עובדים וכמובן כל כתובת נוספת שאנחנו רוצים תהיה כאן.
זאת טכניקה אחת, אני פחות אוהב את הטכניקה הזאת לגבי url'ים בגלל שיש הרבה מה שאני מעדיף לעשות זה אובייקט, אני קורא לו url's server url's addresses לא משנה מה ויש לי פה אובייקט שבאובייקט כולם מופיעים.
אז יש לי פה מעבר לזה שזו מחלקה שיש בה את כל התצורות הכלליות של האפליקציה, יש לה אובייקט בתוכה שמכיל רק את ה-URLים שאנחנו רוצים בצד של ה-Backend. בתוך ה-URLs אז יש לנו כמובן פרודקטס, לא צריך פרודקטס URL מפני שאני כבר נמצא באובייקט URLs, והפרודקטס מקבל בעצם את זה.
בואו ניקח את זה, נשים, נשכפל גם ל-Employees ונשים כאן את זה. זה וניפטר משני אלה שוב גם הטכניקה הקודמת היא בסדר גמור מה שנכון לכם ועכשיו אנחנו רוצים לייצר אובייקט מהקונפיג אז יש לנו פה קונסט קונפיג שימו לב מחלקות תמיד מתחילות מאוד גדולה אובייקטים תמיד מאוד קטנה ונייצר ניו קונפיג ונחצין החוצה אקספורט דיפולט את קונפיג עם סי קטנה כי אנחנו
מחצינים את האובייקט ולא את הקלאס האובייקט הזה קיים פעם אחת בכל האפליקציה ומכל מקום אנחנו יכולים להשתמש בו ולקבל את כל המידע הזה. אוקיי, איך אנחנו משתמשים איתו?
אז מה שאנחנו רוצים לעשות זה לגשת ל-Componenta Products Area Product List ובמקום לרשום בכל מקום את כל הדבר הזה,