📘 קורס Node.js - More-Ways
לימוד שלב אחר שלב עם פרויקטים מלאים וניווט צד נוח.

📘 Node.js Backend - קורס פיתוח בצד השרת
Node.js היא סביבת ריצה מבוססת JavaScript לפיתוח אפליקציות בצד השרת. בעזרת גישה אסינכרונית, ניהול מודולים ו-NPM – נבנה שרתים, APIים, ונטפל בקבצים, אירועים וזרמים בצורה מודרנית ויעילה.
🧭 מה נלמד בקורס?
- 🔹 מבוא ל-Node.js: מהי סביבת Node, REPL ו־CLI
- 🔹 מודולים: יצירת מודולים, מודולים מובנים (fs, path, os, http)
- 🔹 מערכת קבצים: קריאה/כתיבה לקבצים בצורה סינכרונית וא-סינכרונית
- 🔹 בניית שרת: שימוש ב־HTTP module, ניהול בקשות ותגובות
- 🔹 NPM: התקנת חבילות, שימוש ב־package.json ו־nodemon
- 🔹 Event Loop: איך Node מטפל באירועים וקוד א-סינכרוני
- 🔹 הבטחות (Promises): שימוש ב־async/await, טיפול בקוד לא חוסם
- 🔹 EventEmitter: יצירת וניהול אירועים מותאמים אישית
- 🔹 Streams: עבודה עם זרמים לקריאה/כתיבה יעילה של קבצים
- 🔹 תרגול מעשי: בניית פרויקטים בצד שרת עם קוד אמיתי
הקורס מתאים לכל מי שרוצה לפתח אפליקציות צד שרת ב-JavaScript, להבין איך Node.js פועלת מאחורי הקלעים, ולשלוט בכלים החיוניים של עולם ה-Backend.
במהלך הקורס נבנה מספר פרויקטים מעשיים שכוללים שימוש אמיתי ביכולות של Node.js, Express ו־MongoDB: API לניהול משימות, חנות וירטואלית, מערכת הרשאות עם JWT, שליחת מיילים, תשלומים עם Stripe, העלאת תמונות, ואפילו פרויקט מסחרי מלא של E-Commerce כולל הרשמה, התחברות וניהול משתמשים.
🧪 דוגמאות קוד ב-Node.js
🚀 יצירת שרת HTTP פשוט
דוגמה זו יוצרת שרת בסיסי שמאזין בפורט 3000 ומחזיר טקסט למשתמש. זה הבסיס לבניית API או דפי HTML.
const http = require('http');
const server = http.createServer((req, res) => {
res.write('Welcome to Node.js Server!');
res.end();
});
server.listen(3000, () => {
console.log('Server is running on port 3000');
});
📁 קריאת קובץ בצורה אסינכרונית
קוד זה מדגים כיצד לקרוא קובץ טקסטי מהמחשב בצורה לא חוסמת, כדי להמשיך פעולות נוספות בזמן הקריאה.
const fs = require('fs');
fs.readFile('./data.txt', 'utf8', (err, data) => {
if (err) return console.error(err);
console.log(data);
});
📣 יצירת אירוע מותאם אישית
כאן נוצר אובייקט EventEmitter, שמגיב לאירוע בשם "response" ומבצע פעולה בהתאמה – כלי חשוב ליצירת מערכות מודולריות.
const EventEmitter = require('events');
const customEmitter = new EventEmitter();
customEmitter.on('response', (name, id) => {
console.log(`Data received: name=${name}, id=${id}`);
});
customEmitter.emit('response', 'Eylon', 101);
📜 קריאת קובץ עם async/await
הדוגמה הזו מציגה את השיטה המודרנית לקרוא קבצים בעזרת `async/await`. הקוד נראה מסודר יותר ונוח לקריאה לעומת callbacks.
const fs = require('fs').promises;
async function readFileAsync() {
try {
const data = await fs.readFile('./data.txt', 'utf8');
console.log(data);
} catch (err) {
console.error('Error reading file:', err);
}
}
readFileAsync();