express.js – מבוא

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

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

פוסטים נוספים שכדאי לקרוא

DALL·E 2023-10-21 22.28.58 - Photo of a computer server room with red warning lights flashing, indicating a potential cyber threat. Multiple screens display graphs showing a sudde
יסודות בתכנות

מבוא לאבטחת מידע: IDOR

הסבר על התקפה אהובה ומוצלחת שבאמצעותה שואבים מידע מאתרים

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