PracticU

Express Package

בלי כתוביותעם כתוביות
PracticU › קורס NodeJS › Express Package
מילון מושגים:
HTTP - פרוטוקול להעברת דפי אינטרנט ונתונים בין דפדפן לשרת. הגרסה המאובטחת שלו היא HTTPS.
npm - מנהל החבילות של Node.js, המשמש להתקנה ולניהול ספריות JavaScript בפרויקט.
JSON - פורמט טקסט קריא לייצוג נתונים מובְנים כזוגות מפתח-ערך, נפוץ להחלפת מידע בין שרת ללקוח.
GET - שיטת HTTP לבקשת מידע מהשרת בלי לשנות אותו. הפרמטרים מועברים בדרך כלל בכתובת.
תגובה - המידע שהשרת מחזיר ללקוח בתשובה לבקשה, הכולל בדרך כלל נתונים וקוד סטטוס.
HTML - שפת הסימון שבה בונים את מבנה ותוכן דפי האינטרנט, באמצעות תגיות שמגדירות כותרות, פסקאות, קישורים ועוד.
URL - הכתובת שמזהה משאב באינטרנט, למשל דף אתר, וכוללת פרוטוקול, שם מארח ונתיב.
Callback - פונקציה שמועברת כארגומנט לפונקציה אחרת כדי שתופעל מאוחר יותר, לרוב בסיום פעולה.

Express Package
הסרטון מראה איך להחליף את מודול http בפאקג' Express, שמקל על בניית השרת ועל ניתוב הבקשות.
התקנה ויצירת אפליקציה
1. התקנה: npm install express. הפאקג' נרשם ב-package.json.
2. יצירה: const express = require('express') ו-const app = express(). הפונקציה express מחזירה את השרת עצמו.
3. app.get: מגדיר תגובה לבקשת GET לנתיב מסוים. הפרמטרים הם הנתיב והפונקציה שמקבלת request ו-response.
4. res.send: שולח את התוכן ללקוח. סטטוס 200 וכותרת text/html הם ברירת המחדל, ואפשר לקבוע אותם במפורש.
ניתוב
1. נתיב לכל דף: במקום שרשרת if/else לפי ה-url, כל דף מקבל app.get משלו, למשל /news/sports/football.html.
2. דף לא קיים: app.get('*', ...) תופס כל נתיב שלא הוגדר לפניו, ומחזיר 404 עם הודעה שהדף לא קיים.
3. listen: app.listen(3000, callback). ה-callback מציג הודעה שהשרת באוויר.
בהרצה הדפים נראים כמו בגרסה עם מודול http, אבל הקוד קצר בהרבה. אחרי הסרטון אפשר להגדיר נתיבים לשרת בכמה שורות בלבד.
השיעור הבא בקורס: Express Middleware

פרקי ההרצאה: Express Package

  1. 00:00

    מדוע להשתמש בחבילת Express לשרת

  2. 00:43

    התקנת Express והחלפת מודול HTTP

  3. 01:39

    הגדרת נתיב GET ושליחת דף עם send

  4. 02:59

    הגדרת סטטוס והדר בתשובת Express

  5. 03:34

    טיפול נפרד בכל נתיב במקום if else

תמלול ההרצאה: Express Package

הטקסט המלא של הדקות הראשונות בהרצאה «Express Package» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:23

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

  3. 00:45

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

  4. 01:06

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

  5. 01:20

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

  6. 01:39

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

  7. 01:59

    get זאת פונקציה והיא מקבלת את הפונקציה שמקודם שלחנו request ו-response והיא מקבלת גם כפרמטר ראשי בדיוק את ה-URL שאנחנו מאזינים עליו.

  8. 02:18

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

  9. 02:38

    בואו נשים פה נקודה פסיק. מה אנחנו בעצם רוצים לעשות? את כל הדברים האלה. אז אנחנו רוצים לקחת שוב פעם את הדף, בואו נעתיק אותו, נדביק אותו פה, ואנחנו רוצים toResponse.send ולתת לו בחזרה את ה-Page הזה.

  10. 02:59

    אם אנחנו רוצים להעביר גם את הסטטוס, שום בעיה, אנחנו רושמים פה את הסטטוס. אם אנחנו רוצים גם את ה-Header, בואו ניקח את זה, header, להדר יש גם field, בואו רגע נראה את זה, field, string ו-value, אז אנחנו יכולים לקחת בעצם את שני הדברים האלה ולשים פה, אבל אין צורך כי שני אלה זה default,

  11. 03:27

    סטטוס הוא 200 default והדר הזה קיים שמה, אבל רק לצורך הדוגמה בשביל שזה יהיה אותו דבר נשאיר את זה, וכל זה זה רק טיפול בדף הראשון.

  12. 03:39

    אז יש לנו כאן את כל ה-if, במקום לעשות סדרה של if else, if else, if else, אנחנו יכולים פשוט לטפל בהם בצורה נפרדת. זאת אומרת, אם היוזר, בואו ניפטר רגע מכל זה, גלש לנו ב-get request ל-basketball.html, אז אנחנו רוצים להחזיר לו את הדף של ה-basketball, שזה הדף הזה, וניפטר עכשיו מכל זה.

  13. 04:07

    עבור כל דבר אחר, זה אומר כוכבית get כוכבית זה אומר כל דבר

לקורס המלא: קורס NodeJS אונליין בעברית

ההרצאה הקודמת: הרמת שרת WEB לאוויר עם NodeJS

ההרצאה הבאה: Express Middleware

הרצאות קשורות מקורסים אחרים

  • הסבר על SCCM Package
  • למה צריך חבילות התקנה בלינוקס - Package

קורסים נוספים במסלול

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס Javascript כולל JQuery
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס ריאקט - React