
dependencies, כלומר הספריות שהפרויקט משתמש בהן, כמו React ו-TypeScript. התקנות נוספות במהלך הקורס יתווספו אליו. בחלק scripts מוגדר מה מריץ npm start..gitignore קובע מה לא להעלות, למשל node_modules.index.html, הדף היחיד של ה-Single Page Application. בגוף שלו תגית שמוצגת רק אם JavaScript כבוי, ו-div עם id שהוא root, שאליו מוזרקות הקומפוננטות. יש שם גם Favicon ולוגואים.App, בשלושה קבצים. CSS ואנימציה מסתובבת, קובץ בדיקות וקובץ App.tsx.document.getElementById כדי לשתול את App בתוך root, כשהיא עטופה בתגית של React לאיתור שגיאות. הוא מזריק גם את ה-CSS הראשי של האתר.הטקסט המלא של הדקות הראשונות בהרצאה «מבנה קבצים בפרויקט של React» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
הדבר הבא שאנחנו רוצים לבצע זה להבין אילו קבצים משתתפים פה בפרויקט החדש שפתחנו. אנחנו מסתכלים בוויז'ואל סטודיו, בואו טיפה נגדיל רק את הרזולוציה, קונטרול פלוס בוויז'ואל סטודיו מגדיל אותה וקונטרול מינוס מקטין אותה.
אפשר לסגור את הטרמינל עם ה-X אבל לא עם הפח, הפח סוגר, כלומר מפסיק את הריצה, אנחנו לא רוצים להפסיק את הטרמינל, אנחנו רוצים רק לסגור אותו ואז אם אנחנו נרצה אנחנו נוכל נוכל לבוא ולפתוח אותו עדיין רץ.
אז מה בעצם הקבצים שמשתתפים פה בפרויקט הזה? אז קודם כל כל התשתית כולה של ספריית React שהגיעה בהתקנה נמצאת ב-Node Modules. ה-Node Modules זה תיקייה ידועה של Node.JF שמכילה את כל הספריות שהותקנו ואת כל התשתית של המערכת.
אנחנו לא באמת נוגעים בתיקייה הזאת. כאן אנחנו רואים Package Lock, זה בעצם קובץ שמתאר את מה שיש בתיקייה הזאת, גם בו אנחנו לא משתמשים כרגע, זה שימוש פנימי של המערכת.
יש לנו Package.Json זה קובץ מאוד חשוב והוא שייך לפרויקט Node.js, הרי React התשתית שלה עובדת עם פרויקט Node.js מבחינת הפיתוח עצמו וכאן אנחנו רואים את השם של הפרויקט וכרגע את הגרסה שלו ושהפרויקט לא מיועד כרגע להפצה וזה הדבר הכי חשוב.
איזה dependencies נתמכים פה בפרויקט וזה התשתית שכרגע התקנו. התקנו כל מיני ספריות טייפ סקריפט והתקנו את React וריאקט דום וכולי. כל הדבר הזה מתאר אילו ספריות נוספות הותקנו והפרויקט משתמש בהן.
יש לנו פה עוד כל מיני הגדרות. סקריפטס לדוגמה, כאשר אנחנו רושמים npm start אז הוא בעצם מריס לנו את מה שכתוב פה. React Scripts Starts. וזה קובץ מאוד חשוב.
כאשר אנחנו נתקין שוב ושוב התקנות נוספות תוך כדי הקורס, אז הם יתווספו כאן בדיפנדנסיז. זה package.json. יש פה איזה readme, שאם אנחנו מעלים את הפרויקט ל-github, אז מה שכתוב ב-readme אפשר לקרוא.
גיט איגנור, האם אנחנו רוצים להתעלם? ממה אנחנו בעצם רוצים להתעלם כאשר אנחנו מעלים פרויקט ל-github? ואנחנו לא רוצים להעלות את הדברים, כמובן אנחנו לא רוצים להעלות את node modules, אז אנחנו רואים שהוא אישית יתעלם ממנו.
TS-Config זה קובץ קונפיגורציה עבור הקומפיילר של טייפ סקריפט. יש פה הגדרות קומפילטיביות של טייפ סקריפט, אנחנו נשתמש בו בהמשך.
ומכאן אנחנו רואים שתי תיקיות חשובות: Public, זאת התיקייה שמכילה את קובץ ה-Index HTML. אמרנו שכל פרויקט React הוא Single Page Application ויש לו רק Index HTML, אז זה הקובץ האחד והיחיד.
אנחנו רואים שיש לו כל מיני הגדרות לסקריפטים ולסי אס אסים וכל מה שיש לו בבאדי זה קודם כל תגית אחת ששייכת לעולם התגיות של html ומוצגת ליוזר רק אם javascript לא פעילה אצלו במחשב כי אנחנו חייבים את javascript ואם javascript כן פעילה הכוונה בדפדפן אז היא לא תהיה מוצגת אז זה בסדר ויש לנו כאן רק div אחת עם id root
שבתוכה אנחנו מזריקים את הקומפוננטות שאנחנו בונים. לפחות קומפוננטה אחת הולכת להיות בתוכה. יש לנו פה את ה-Favicon שזה האייקון שמופיע לנו למעלה, אנחנו יכולים לראות אותו.
כאן זה האייקון הקטנצ'יק הזה שמופיע פה למעלה, זה נקרא Favicon, Favorite Icon, כל מיני לוגוים אחרים שאנחנו כרגע לא באמת צריכים.
ויש לנו את איקיית ה-SRC. ה-SRC זה ה-Source Code שלנו, אנחנו כותבים רק בתוך ה-SRC, אנחנו אפילו לא כותבים בתוך ה-Public שום דבר. רק בתוך ה-SRC אנחנו כותבים, ומה שיש לנו פה זה קומפוננטה אחת שקיבלנו, היא נקראת App, אנחנו יכולים לראות את קובץ ה-CSS שלה, יש לנו פה קוד CSS מוכן, וזה בעצם מה שאנחנו רואים מבחינת העיצוב פה,
רקע שחור וגרפיקה כזאת מסתובבת, אנימציה מסתובבת, מן האנימיישן וזה מה שנמצא ב-CSS. יש לנו את ה-Test TSX שזה UMI טסטינג, זה בדיקות, אם אנחנו רוצים לעשות בדיקות לקומפוננטה שלנו אז זה קובץ בדיקות.
יש לנו את קובץ TSX שזה בעצם קובץ הקומפוננטה עצמה. שוב, קיבלנו Out of the Box, קומפוננטה אחת שנקראת Up ואנחנו כמובן ניכנס לעומק ונראה איך בונים קומפוננטות ונבנה הרבה קומפוננטות בעצמנו.
אבל שלושת הקבצים האלה זה קומפוננטה אחת. למה הקובץ הזה מסתיים ב-tsx? אז אם היינו בונים את הפרויקט בלי טייפסקריפט, רק ג'אווה סקריפט, אז הסיומת שלו הייתה jsx גם כאן וגם כאן.
css כמובן היה נשאר css. ברגע שאנחנו בונים פרויקט בטייפסקריפט אז הוא נקרא tsx.