נפתרה: איך לשלוח קובץ HTML עם express

הבעיה העיקרית הקשורה לשליחת קבצי HTML עם Express היא ש-Express אינו תומך באופן מקורי בשרת קבצים סטטיים כגון HTML, CSS ו-JavaScript. כדי להגיש קבצים סטטיים, עליך להשתמש בתוכנת ביניים כגון express.static() או בתוכנת האמצעית express.static המסופקת על ידי החבילה serve-static. תוכנת ביניים זו תאפשר לך לציין ספרייה שבה ממוקמים הקבצים הסטטיים שלך ולאחר מכן למפות בקשות עבור קבצים אלה לספרייה זו.

To send an HTML file with Express, you can use the res.sendFile() method. This method takes the path of the file as its argument and sends it to the client.

Example: 
app.get('/', (req, res) => { 
   res.sendFile(__dirname + '/index.html'); 
});

1. app.get('/', (req, res) => {
// שורה זו מגדירה מטפל במסלול עבור נתיב הבסיס של היישום. כאשר מבוצעת בקשה לנתיב הבסיס, פונקציית התקשרות חוזרת זו תבוצע עם אובייקטי req ו-res כארגומנטים שלה.

2. res.sendFile(__dirname + '/index.html');
// שורה זו משתמשת בשיטת ה-Express sendFile() כדי לשלוח קובץ HTML הממוקם בכתובת __dirname + '/index.html' ללקוח כתגובה לבקשתו עבור נתיב הבסיס של היישום

מהו קובץ HTML

קובץ HTML הוא קובץ Hypertext Markup Language, המשמש ליצירת דפי אינטרנט. קובצי HTML מורכבים מתגים ותכונות המגדירים את המבנה והתוכן של דף אינטרנט. הם כתובים בטקסט רגיל, כך שניתן לפתוח ולערוך אותם בכל עורך טקסט.

על ExpressJS

ExpressJS היא מסגרת יישום אינטרנט עבור Node.js, שפורסמה כתוכנת קוד פתוח בחינם תחת רישיון MIT. הוא מיועד לבניית יישומי אינטרנט וממשקי API. זה נקרא מסגרת השרת הסטנדרטית דה פקטו עבור Node.js.

ExpressJS מספק קבוצה חזקה של תכונות לפיתוח אפליקציות אינטרנט ונייד. זה מפשט את תהליך ניתוב בקשות, ניהול תוכנת ביניים, רינדור דפי HTML ושליחת תגובות לצד הלקוח. ExpressJS מספקת גם תמיכה למנועי תבניות כמו Jade, EJS וכידון.

המסגרת של ExpressJS מבוססת על JavaScript ומשתמשת בדפוס ארכיטקטורת MVC (Model-View-Controller) המסייעת למפתחים ליצור יישומים ניתנים להרחבה בקלות. בנוסף, זה מאפשר למפתחים להשתמש במספר מסדי נתונים כגון MongoDB, Redis, MySQL וכו', מה שמקל על בניית יישומים מורכבים.

כיצד אוכל לשלוח קובץ HTML באמצעות Express

כדי לשלוח קובץ HTML באמצעות Express, עליך להשתמש בשיטה res.sendFile()‎. שיטה זו לוקחת את הנתיב של הקובץ כארגומנט ושולחת אותו כתגובה ללקוח.

דוגמא:
app.get('/', (req, res) => {
res.sendFile(__dirname + '/index.html');
});

הודעות קשורות:

השאירו תגובה