אינטרנט ישראל
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
ראשי » מדריכים » Express » express.js – מבוא

express.js – מבוא

רן בר-זיק מאי 15, 2016 7:07 am 4 תגובות

אפליקצית hello world ב-express, בניית סביבת עבודה והסבר ראשוני על הפריימוורק.

המאמר הבא בסדרת המדריכים ל-expressexpress.js – ראוטר בסיסי
כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.

Express.js או רק Express היא פריימוורק לשפת node.js שמהווה תשתית לשרת אינטרנט לכל אפליקציה. בפועל, Express הפכה להיות הסטנדרט בכל מה שקשור לאפליקציות מבוססות node.js בכלל, ה-E של ה-Express היא חלק מה MEAN stack (שזה ראשי תבות של MongoDB, Express.js, Angular, node.js) שהולכת ומתפתחת בצעדי ענק.

עד כאן להגדרה הסמי ויקיפדית של Express. נשאלת השאלה מה זה בדיוק ולמה צריך את זה. כפי שאנו יודעים, אם אני רוצה לפתח אתר/אפליקציה ב-node.js, אני צריך לממש את השרת שלי. בניגוד ל-PHP למשל, שם יש לי את Apache או את NginX שהם שרתי אינטרנט שמעבדים ומגישים לי את הקבצים, ב-node.js אין לי דבר כזה. מה עושים? אפשר לממש את שרת האינטרנט לבד. אבל במקום זה אפשר להשתמש במודול של node.js ליצירת השרת. ה-מודול, בה"א הידיעה לשרתים הוא Express.js והוא כל כך פופולרי שהוא עתיד להכנס לליבה של node.js. כמעט כל האפליקציות משתמשות בו.

על מנת להשתמש ב-Express ולתפעל אותו, צריך לדעת node.js, כאן לא יעזרו קיצורי דרך. למרבה המזל, הכנתי מדריך מפורט בשביל כל אלו שלא מכירים את node.js, שווה לעבור עליו לפני. כדאי גם לעבור על המדריך הקצרצר של REST API.

המדריך מותאם גם לחלונות וגם ללינוקס/מק. בגדול, אני ממליץ מאוד להשתמש ב-git bash. כשאני מדבר על הקלדה בקונסולה, אני מתכוון להקלדה בקונסולה של לינוקס/מק או להקלדה ב-cmd\git bash.

הדבר הראשון שצריך לעשות הוא לדאוג שיש לכם node על המחשב. ההתקנה קלה גם בחלונות וגם בלינוקס/מק ועברנו עליה במדריך של node.js מהנקודה הזו והלאה אני יוצא מנקודת הנחה שאתם יודעים node.js.

על מנת להתחיל את האפליקציה שלנו, אנחנו נפתח תיקיה כלשהי, נכנס עם הקונסולה ונכתוב שם:


 npm install express --save

זה מתקין כמובן את המודול express ואת כל המודולים שבו הוא תלוי. אם הכל תקין, אתם מחוברים לאינטרנט וכמובן מותקן אצלכם node (אם לא, תקבלו שגיאה שמערכת ההפעלה לא מזהה את node). הכל יותקן. עכשיו ניצור קובץ ששמו הוא index.js ושם נכתוב את הקוד הבא:



var express = require('express');
var app = express();

app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});

app.get('/', function (req, res) {
  res.send('Hello World!');
});



מה יש בקוד הזה? קודם כל יש require ל-express ואנו מגדירים את app כ-instance של express. אחר כך אנחנו מפרטים לו לאיזה פורט להאזין, במקרה הזה ל-3000. זה קוד שהוא קריטי לכל אפליקצית express וחייב להיות בו. לא יהיה listen, לא יהיה שרת.

הקוד הבא הוא יותר מעניין – הוא בעצם אומר שכל בקשת GET תעבור דרכו. הוא מקבל את הנתיב (במקרה הזה הנתיב הכללי /) ו-callback שמכיל שני ארגומנטים req שהוא הבקשה (ושם יש לי גישה לכל פרטי הבקשה) ו-res שהוא התגובה שלי. אני יכול לשלוט שם על כל פרטי התגובה.

במקרה הזה, אני אשתמש ב-send על מנת לשלוח טקסט בלבד.

אחרי ששמרתי את הקובץ, עכשיו כל מה שנותר לי לעשות זה להפעיל את השרת – במקרה הזה להקליד את הקוד הזה בקונסולה:


node app.js

אם נפתח את הדפדפן ונכניס את הכתובת localhost:3000 או את ה-IP של המחשב שלנו עם פורט 3000, נראה Hello World! יש!

בואו ונמשיך את זה, נוסיף נתיב נוסף ששמו בישראל יהיה moshe. איך עושים את זה? על ידי הוספת הקוד הבא:



var express = require('express');
var app = express();

app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});

app.get('/', function (req, res) {
  res.send('Hello World!');
});

app.get('/moshe', function (req, res) {
  res.send('Hello moshe!');
});


נהרוג את התהליך שפתוח בקונסולה באמצעות ctrl +c ואז נפעיל אותו שוב על ידי node app.js, על מנת שה-app.js יעבוד. אם נכניס את הכתובת localhost:3000/moshe אנו נראה שיהיה כתוב לנו על הדפדפן Hello Moshe

hello world express

נחמד, נכון? זו התחלה ראשונית בלבד למה שנקרא routing ונרחיב על כך עוד במאמר הבא בסדרה – routing ב-express

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.
לכל המאמרים בסדרת המדריכים על express
express.js

4 תגובות

  1. משתמש אנונימי (לא מזוהה) הגב מאי 20, 2016 בשעה 3:34 am

    תודה על המאמר המושקע!
    זמן רב חכיתי למאמרי המשך הקשורים ל-nodejs.

    • רן בר-זיק הגב מאי 22, 2016 בשעה 4:21 pm

      תודה רבה! אני מתכוון להמשיך עם זה לפחות עד בדיקות אוטומטיות, יצירת code coverage וגם עבודה עם ג'נרייטור כמו yeoman 🙂

  2. שמעון הגב אוקטובר 6, 2016 בשעה 12:56 pm

    תודה רבה, רן.
    תיקון לקובץ קראת index.js אם כן צריך להפעיל node index.js ולא app.js

    (משום מה על פורט 3000 אצלי לא עבד. עברתי לפורט 8080)

  3. גרוסמן דוד הגב אפריל 23, 2020 בשעה 11:25 am

    מעונין לבדוק אפשרות להקמת אתר מסחרי
    דוד גרוסמן 052-6244733

השארת תגובה

ביטול

ללמוד ג'אווהסקריפט בעברית

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

רשימת הנושאים
  • מדריכים
    • ריאקט
    • טייפסקריפט
    • ECMAScript 6
    • ES20XX
    • Node.js
    • Express
    • רספברי פיי
    • Babel
    • docker
    • MongoDB
    • Git
    • לימוד MySQL
    • SASS
    • jQuery
    • CSS3
    • HTML 5
    • SVN
    • LESS
  • פיתוח אינטרנט
    • פתרונות ומאמרים על פיתוח אינטרנט
    • jQuery Scripts
    • jQuery למתקדמים
    • יסודות בתכנות
    • נגישות אינטרנט
  • חדשות אינטרנט
  • מידע כללי על אינטרנט
    • רשת האינטרנט
    • בניית אתרי אינטרנט
  • rss logo

    לכל המאמרים

    לכל המאמרים שפורסמו באינטרנט ישראל משנת 2008 ועד עכשיו.
  • rss logo

    RSS Feed

    משתמשים בקורא RSS? אם כן, עקבו אחרי אינטרנט ישראל באמצעות פיד ה-RSS!
    מה זה RSS?
  • Twitter logo

    עקבו אחרי בטוויטר

    בחשבון הטוויטר שלי אני מפרסם עדכונים מהירים על חדשות בתחום התכנות והיזמות, התרעות על מצבי חירום ורכילות בוערת על תחום הווב.
    מה זה טוויטר?
  • facebook like image

    ערוץ הטלגרם של אינטרנט ישראל

    בערוץ הטלגרם של אינטרנט ישראל אני מפרסם את הפוסטים של באתר וכן עדכונים טכנולוגיים נוספים.
    מה זה טלגרם?
  • github logo

    הפרויקטים שלי בגיטהאב

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

כל הזכויות שמורות לרן בר-זיק ולאינטרנט ישראל | מדיניות הפרטיות של אתר אינטרנט ישראל | אתר אינטרנט ישראל נגיש לפי תקן WCAG 2.0 AA | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

גלילה לראש העמוד