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

במאמר הקודם דיברנו על 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
למאמר הבא בסדרת המדריכים על Node.js

אהבתם? לא אהבתם? דרגו!

לא אהבתי בכלללא אהבתיבסדראהבתיאהבתי מאוד (4 הצבעות, ממוצע: 4.50 מתוך 5)

תגיות: פורסם בקטגוריה: Node.js

יאללה, שתפו :)

אל תשארו מאחור! יש עוד מה ללמוד!

כתיבת תגובה

האימייל לא יוצג באתר.

רישום