כתיבת שירות האינטרנט באמצעות Node.js

במדריך הזה נסביר איך לכתוב שירות אינטרנט ב-Node.js שיפעל בסביבה הרגילה של App Engine. כדי לקבל מידע נוסף על סביבת זמן הריצה של Node.js ועל אופן הפעולה שלה, אפשר לעיין במאמר סביבת זמן הריצה של Node.js.

לפני שמתחילים

נקודות עיקריות

  • כדי להשתמש בתלויות, צריך לפרט אותן בקובץ package.json. מידע נוסף זמין במאמר בנושא ציון תלויות.
  • ‫App Engine מפעיל את האפליקציה על ידי הרצת npm start.
  • השרת צריך להאזין ליציאה שצוינה על ידי process.env.PORT, שהוא משתנה סביבה שהוגדר על ידי זמן הריצה של App Engine.
  • כדי לפרוס את השירות ב-App Engine, צריך קובץ app.yaml.

יצירת שרת להאזנה לבקשות HTTP

הליבה של שירות האינטרנט היא שרת ה-HTTP. קוד הדוגמה במדריך הזה משתמש ב-framework‏ Express.js כדי לטפל בבקשות HTTP, אבל אתם יכולים להשתמש ב-framework אינטרנטי לפי בחירתכם.

  1. יוצרים תיקייה חדשה בשם my-nodejs-service בשביל שירות Node.js.

  2. עוברים לתיקייה בטרמינל ויוצרים קובץ package.json על ידי הפעלת הפקודה npm init.

  3. מוסיפים את Express כתלות על ידי הפעלת הפקודה:

    npm install express
    

    מוודאים שהערך Express מופיע בשדה dependencies בקובץ package.json. הנה דוגמה:

    {
      ...
      "dependencies": {
        "express": "^4.16.3"
      }
      ...
    }
    
  4. מוסיפים סקריפט start לקובץ package.json:

    "scripts": {
      "start": "node server.js"
    }
    
  5. יוצרים קובץ בשם server.js באותה תיקייה ומוסיפים את הקוד הבא:

    const express = require('express');
    const app = express();
    
    app.get('/', (req, res) => {
      res.send('Hello from App Engine!');
    });
    
    // Listen to the App Engine-specified port, or 8080 otherwise
    const PORT = process.env.PORT || 8080;
    app.listen(PORT, () => {
      console.log(`Server listening on port ${PORT}...`);
    });

זהו שרת אינטרנט בסיסי מאוד – הוא מגיב לכל הבקשות של GET לנתיב הבסיס ('/') עם הטקסט Hello from App Engine!‎ (שלום מ-App Engine!). שימו לב לארבע השורות האחרונות, שבהן השרת מוגדר להאזין ליציאה שצוינה על ידי process.env.PORT, שהוא משתנה סביבה שמוגדר על ידי זמן הריצה של App Engine. אם השרת לא מוגדר להאזין ליציאה הזו, הוא לא יקבל בקשות.

שימו לב: אם לא מגדירים את process.env.PORT, המערכת משתמשת ביציאה 8080 כברירת מחדל. ההגדרה הזו נחוצה לבדיקת האפליקציה באופן מקומי, כי הערך process.env.PORT לא מוגדר במהלך הפעלות מקומיות – הוא מוגדר רק כשהאפליקציה פועלת ב-App Engine. אתם יכולים להשתמש בכל יציאה שתרצו לבדיקה, אבל במדריך הזה נשתמש ביציאה 8080.

הפעלת השרת באופן מקומי

כדי להריץ את השרת באופן מקומי:

  1. מריצים את הפקודה npm start במסוף. הפקודה הזו תריץ את הקובץ server.js.

  2. מפנים את דפדפן האינטרנט לכתובת http://localhost:8080.

יוצג דף עם הטקסט Hello from App Engine!‎ (שלום מ-App Engine).

יצירת קובץ app.yaml

קובץ app.yaml מציין הגדרות לסביבת זמן הריצה של שירות App Engine. השירות לא יופעל בלי הקובץ הזה.

  1. בתיקייה my-nodejs-service, יוצרים קובץ בשם app.yaml.

  2. מוסיפים את התוכן הבא:

    runtime: nodejs24

    זהו קובץ הגדרות מינימלי, שמציין ל-App Engine את הגרסה של זמן הריצה של Node.js. אפשר גם לציין בקובץ app.yaml הגדרות רשת, הגדרות קנה מידה ועוד. מידע נוסף זמין בהפניה ל-app.yaml.

בשלב הזה, מבנה הקבצים צריך להיות דומה לזה:

  my-nodejs-service/
  app.yaml
  package.json
  server.js

השלבים הבאים

אחרי שיצרתם שרת אינטרנט פשוט של Node.js שמקשיב ליציאה הנכונה וציינתם את זמן הריצה בקובץ app.yaml, אתם מוכנים לפרוס את השירות ב-App Engine.

נסו בעצמכם

אנחנו ממליצים למשתמשים חדשים ב-Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של App Engine בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300 $להרצה, לבדיקה ולפריסה של עומסי העבודה.

אני רוצה לנסות את App Engine בחינם