ציון יחסי תלות

כדי לציין את יחסי התלות של אפליקציית Node.js, צריך להצהיר עליהם בקובץ package.json.

לדוגמה, אם רוצים לציין את Lodash כתלות, קובץ package.json יכול להיראות כך:

{
  "dependencies": {
    "lodash": "^4.0.1"
  }
}

במהלך הפריסה, סביבת זמן הריצה של Node.js מתקינה באופן אוטומטי את כל dependencies שמוצהרים בקובץ package.json. כברירת מחדל, נעשה שימוש בפקודה npm install, אבל יש תמיכה גם במנהלי החבילות Yarn ו-Pnpm:

  • ‫Yarn: אם קיים קובץ yarn.lock, נעשה שימוש בפקודה yarn install --production במקום זאת.

  • ‫Pnpm: אם קיים קובץ pnpm-lock.yaml, נעשה שימוש בפקודה pnpm install במקום זאת.

חשוב לוודא שקובץ yarn.lock או pnpm-lock.yaml לא צוין בקטע skip_files של קובץ app.yaml.

כברירת מחדל, App Engine שומר במטמון תלויות שנשלפו כדי לקצר את זמני הבנייה. כדי להתקין גרסה לא שמורה במטמון של התלות, משתמשים בפקודה:

gcloud app deploy --no-cache

תמיכה ומגבלות בקובץ package.json בסביבה הרגילה:

  • אתם יכולים להשתמש בכל חבילת Node.js שתואמת ל-Linux עם App Engine, כולל חבילות שדורשות תוספים מקוריים (C).

  • אם השדה engines מצוין ב-package.json, צריך להגדיר גרסה תואמת של Node.js.

  • כל התלויות שמוגדרות בשדה devDependencies מתעלמים מהן והן לא מותקנות באפליקציה ב-App Engine.

  • start הסקריפט צריך להיות קל משקל ולא לכלול שלבי בנייה, כדי להשיג את הביצועים הכי טובים, כי הסקריפט מופעל בכל פעם שנוצר מופע חדש של האפליקציה.

יחסי תלות פרטיים עם Artifact Registry

אם האפליקציה שלכם משתמשת במודול npm פרטי, אתם יכולים להשתמש במאגר חבילות Node.js ב-Artifact Registry כדי לארח יחסי תלות פרטיים. כשפורסים את האפליקציה, תהליך ה-build יוצר באופן אוטומטי פרטי כניסה ל-Artifact Registry עבור חשבון השירות ב-Cloud Build, כך שלא צריך ליצור פרטי כניסה נוספים. כדי לכלול יחסי תלות פרטיים, צריך לציין את מאגר Artifact Registry ולהגדיר את ההגדרות לאימות מול הרישום בקובץ .npmrc שבספריית האפליקציה. לדוגמה:

@SCOPE:registry=https://REGION_ID-npm.pkg.dev/PROJECT_ID/REPOSITORY_NAME
//REGION_ID-npm.pkg.dev/PROJECT_ID/REPOSITORY_NAME:always-auth=true

הערה: הגישה הזו פועלת גם במנהל החבילות Yarn v1. אם אתם משתמשים ב-Yarn בגרסה 2 ואילך, צריך לרשום את מאגר Artifact Registry ולהגדיר את ההגדרות לאימות מול המאגר בקובץ .yarnrc.yml בספריית האפליקציה. לדוגמה:

npmScopes:
  SCOPE:
    npmRegistryServer: https://REGION_ID-npm.pkg.dev/PROJECT_ID/REPOSITORY_NAME
    npmAlwaysAuth: true

לאחר מכן, מוסיפים את החבילות לקובץ package.json. לדוגמה:

{
  "dependencies": {
    " @SCOPE/my-package": "^1.0.0"
  }
}

התקנה של מסגרת אינטרנט

תצטרכו להשתמש במסגרת אינטרנט כדי לאפשר לאפליקציה לטפל בבקשות אינטרנט. אתם יכולים להשתמש בכל מסגרת אינטרנט של Node.js, כולל:

כדי להשתמש ב-framework מסוים לאינטרנט, כמו Express.js, מוסיפים את ה-framework לקובץ package.json:

  • שימוש ב-npm:

    npm install express
  • שימוש ב-yarn:

    yarn add express
  • שימוש ב-pnpm:

    pnpm add express

לדוגמה, קובץ package.json שמתקבל יכול להיראות כך:

{
  "dependencies": {
    "lodash": "^4.0.1",
    "express": "^4.16.2"
  }
}

התקנת ספריות לקוח של Cloud

ספריות הלקוח של Cloud ל-Node.js הן הדרך המקובלת למפתחי Node.js לשלב שירותים כמו Firestore במצב Datastore (Datastore) ו-Cloud Storage. Google Cloud

כדי להתקין את ספריית הלקוח של Node.js ל-Cloud Storage:

  1. מתקינים את ספריות הלקוח של Cloud באופן מקומי באמצעות מנהל חבילות:

    • כדי להשתמש ב-npm, מריצים את הפקודה:

      npm install @google-cloud/storage
    • כדי להשתמש ב-yarn, מריצים את הפקודה:

      yarn add @google-cloud/storage
    • כדי להשתמש ב-pnpm, מריצים את הפקודה:

      pnpm add @google-cloud/storage
  2. מגדירים אימות. אפשר להגדיר את ספריות הלקוח ב-Cloud ל-Node.js כך שהאימות יתבצע באופן אוטומטי.

  3. משתמשים בהפניה לספריית הלקוח של Node.js ל-Cloud Storage כדי להטמיע תמיכה בשירות Cloud Storage באפליקציה.