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

מדריך Node.js: שימוש במודולים בסיסיים

רן בר-זיק אוקטובר 28, 2014 7:05 am אין תגובות

דוגמה של שימוש במודול http ובמתודות שלו ב-Node.js

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

אוהבים את מדריך Node.js? רוצים לדעת עוד?

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

במאמר הקודם דיברנו על require שהוא הדרך להשתמש במודולים (מודולי ליבה או מודולים אחרים) עם Node.js. במאמר הזה אנו נדבר על מודולים אחרים שיש בליבה של Node.js.

עד עכשיו עבדנו בעיקר מול הקונסולה (לינוקס או, ישמרנו האלוהים, חלונות) – אבל עם כל הכבוד לקונסולה – אנחנו מתכנתי אינטרנט ואנחנו רוצים לראות דברים מגניבים על הדפדפן שלנו! במאמר הראשון בסדרה, ציינתי שבניגוד לשפות צד שרת יותר קונבנציונליות כמו PHP או JAVA, ב-Node.js אין שרת אלא Node.js בעצמה היא השרת. המימוש של שרת הוא די פשוט ונעשה עם מודול http. כך זה נראה:


http = require("http"); //The require

var MyServer = http.createServer(function(request, response) {
    response.writeHead(200, {"Content-Type": "text/html"});
    response.write("Hello World!");
    response.end();
});

MyServer.listen(3000);

console.log("Server running at http://localhost:3000/"); //Printing to the console only

באופן עקרוני אין כאן משהו שיפיל אתכם. יש כאן את ה-require שאותו אנו מכירים מקודם. אובייקט ה-http הוא בעצם ה-export שמוחזר לנו ממודול http. הוא כולל מתודה שנקראת createServer. את המתודה אפשר למצוא בדוקומנטציה המחרידה של http דרך אגב.
המתודה הזו מקבלת רק ארגומנט אחד: ה-callback! בו אנו מעבירים שני ארגומנטים – request ו-response. ה-response הוא התגובה וה-request זה פרטים של הבקשה. בדוקומנטציה כתוב ש:

request is an instance of http.IncomingMessage and response is an instance of http.ServerResponse.

אם נציץ בדוקומנציה ב:http.ServerResponse נוכל לראות את שלוש המתודות שהשתמשנו בהן: writeHead, write ו-end. לא צריך להיות גאון גדול בשביל להבין מה הן עושות, אבל באותו מקום בדוקומנטציה יש מתודות מעניינות נוספות. למשל setHeader- אם נשתמש בקוד הזה שהעתקתי בדוקומנטציה:


response.setHeader("Set-Cookie", ["type=ninja", "language=javascript"]);

נוכל לראות שהתווספה לנו cookie מגניבה!

אם נחפש את http.IncomingMessage בדוקומנטציה, נראה של-request יש גם מתודות ותכונות מעניינות במיוחד. כך למשל אנחנו יכולים להציג בפני המשתמש את גרסת ה-http שלו!


http = require("http"); //The require

var MyServer = http.createServer(function(request, response) {
    response.setHeader("Set-Cookie", ["type=ninja", "language=javascript"]);
    response.writeHead(200, {"Content-Type": "text/html"});
    response.write("Hello World!");
    response.write(request.httpVersion);
    response.end();
});

MyServer.listen(3000);

console.log("Server running at http://localhost:3000/"); //Printing to the console only

טוב, גם אם לא נעוף על זה, אפשר לקבל דברים אחרים מהמשתמש – כמו למשל את ה-URL שהוא רוצה (חשוב ל-routing!) או למשל את ה-headers שלו.

טוב, אז שרת יצרנו, איך ניגשים אליו? אנו שומרים את הקוד שלעיל כ-myserver.js ואז כותבים בקונסולה nodejs myserver.js. עכשיו אפשר לגשת ל-http://localhost:3000 ולראות את התוצאה. אם יש לכם מחשבים אחרים ברשת, אתם יכולים לנסות ולגשת אל ה-ip של המחשב שמריץ את Node.js ולראות את התוצאות.
אני ממליץ בחום רב לתרגל כאן, פשוט להעתיק את הקוד הזה, להסתכל בדוקומנטציה ולנסות לעשות כל מיני דברים. זה אחד הקודים הפשוטים ביותר של Node.js וממש קל ליישם אותו ולשנות אותו.

במאמר הבא אנו נמשיך לעבוד על הקוד ונבחן מודולים נוספים ומעניינים.

⚠️ תזכורת – המדריכים האלו הם רק טעימה, בספר שלי "ללמוד Node.js בעברית" יש הסברים מלאים ומקיפים על השפה המיועדים ללימוד עצמי. עם תרגילים והסברים. הספר יצא לאור בשיתוף הקריה האקדמית אונו ובתמיכת החברות אלמנטור, ו-Iron source ונערך טכנית על ידי בנג'י גרינבאום (מפתח ליבה של Node.js), גיל פינק ומתכנתים מעולים נוספים. 

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

אוהבים את מדריך Node.js? רוצים לדעת עוד?

ספר מקיף על Node.js, בעברית, שנכתב על ידי רן בר-זיק וכולל תרגילים רבים ומידע מקיף - גם על מודולים אסינכרוניים וגם על CLI וסטרימים ומידע רב יותר על Node.js ניתן להורדה ממש פה.
למאמר הקודם בסדרת המדריכים על Node.jsמדריך Node.js: שימוש ב-require
למאמר הבא בסדרת המדריכים על Node.jsמדריך Node.js: מודלים בסיסיים: אירועים
לכל המאמרים במדריך
node.js

השארת תגובה

ביטול

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

ללמוד לתכנת ג'אווהסקריפט בעברית שגייס יותר משלוש מאות אלף שקל ולמעלה מ-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 | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

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