Abhängigkeiten angeben

Die Abhängigkeiten für Ihre Node.js-Anwendung werden in der Datei package.json deklariert.

Wenn Sie beispielsweise Lodash als Abhängigkeit angeben möchten, könnte die Datei package.json so aussehen:

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

Während der Bereitstellung installiert die Node.js-Laufzeit automatisch alle dependencies in Ihre package.json Datei. Standardmäßig wird der Befehl npm install verwendet. Es werden jedoch auch Yarn- und Pnpm-Paketmanager unterstützt:

  • Yarn: Wenn die Datei yarn.lock vorhanden ist, wird stattdessen der Befehl yarn install --production verwendet.

  • Pnpm: Wenn die Datei pnpm-lock.yaml vorhanden ist, wird stattdessen der Befehl pnpm install verwendet.

Achten Sie darauf, dass die Datei yarn.lock oder pnpm-lock.yaml nicht im Abschnitt skip_files Ihrer Datei app.yaml angegeben ist.

Standardmäßig werden abgerufene Abhängigkeiten von App Engine zwischengespeichert, um die Build-Zeiten zu reduzieren. Mit dem folgenden Befehl können Sie eine nicht im Cache gespeicherte Version der Abhängigkeit installieren:

gcloud app deploy --no-cache

Unterstützung und Einschränkungen für die Datei package.json in der Standardumgebung:

  • Sie können in App Engine Linux-kompatible Node.js-Pakete verwenden, einschließlich Paketen, die native C-Erweiterungen erfordern.

  • Wenn das Feld engines in der Datei package.json angegeben ist, müssen Sie eine kompatible Node.js-Version definieren.

  • Alle Abhängigkeiten, die Sie unter dem Feld devDependencies definieren, werden ignoriert und nicht für Ihre Anwendung in App Engine installiert.

  • Das start-Skript sollte möglichst einfach sein und für eine optimale Leistung keine Build-Schritte enthalten, da es jedes Mal ausgeführt wird, wenn eine neue Instanz der Anwendung erstellt wird.

Private Abhängigkeiten mit Artifact Registry

Wenn Ihre Anwendung ein privates npm-Modul verwendet, können Sie ein Artifact Registry Node.js-Package Repository verwenden, um private Abhängigkeiten zu hosten. Beim Bereitstellen der Anwendung werden beim Build-Prozess automatisch Artifact Registry-Anmeldedaten für das Cloud Build-Dienstkonto generiert. Sie müssen also keine zusätzlichen Anmeldedaten generieren. Wenn Sie private Abhängigkeiten einschließen möchten, listen Sie das Artifact Registry-Repository auf und konfigurieren Sie Einstellungen für die Authentifizierung mit der Registry in der .npmrc-Datei im Anwendungsverzeichnis. Beispiele:

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

Beachten Sie, dass dieser Ansatz auch für den Yarn v1-Paketmanager funktioniert. Wenn Sie Yarn v2 oder höher verwenden, listen Sie das Artifact Registry-Repository auf und konfigurieren Sie Einstellungen für die Authentifizierung mit der Registry in der .yarnrc.yml-Datei im Anwendungsverzeichnis. Beispiele:

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

Fügen Sie dann Ihre Pakete in die Datei package.json ein. Beispiele:

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

Web-Framework installieren

Sie müssen ein Web-Framework verwenden, damit Ihre Anwendung Webanfragen verarbeiten kann. Sie können ein beliebiges Node.js-Web-Framework verwenden, einschließlich der folgenden:

Wenn Sie ein bestimmtes Web-Framework wie Express.js verwenden möchten, fügen Sie das Framework Ihrer package.json-Datei hinzu:

  • Mithilfe von npm:

    npm install --save express
  • Mithilfe von yarn:

    yarn add express
  • Mithilfe von pnpm:

    pnpm add express

Die resultierende package.json-Datei könnte dann in etwa so aussehen:

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

Cloud-Clientbibliotheken installieren

Die Cloud-Clientbibliotheken für Node.js bietet Node.js-Entwicklern eine idiomatische Möglichkeit zur Integration in Google Cloud-Dienste wie Firestore im Datastore-Modus (Datastore) und Cloud Storage.

So installieren Sie die Node.js-Clientbibliothek für Cloud Storage:

  1. Installieren Sie die Cloud-Clientbibliotheken lokal mithilfe eines Paketmanagers:

    • Führen Sie Folgendes aus, um npm zu verwenden:

      npm install --save @google-cloud/storage
    • Führen Sie Folgendes aus, um yarn zu verwenden:

      yarn add @google-cloud/storage
    • Führen Sie Folgendes aus, um pnpm zu verwenden:

      pnpm add @google-cloud/storage
  2. Richten Sie die Authentifizierung ein. Sie können die Cloud-Clientbibliotheken für Node.js so konfigurieren, dass die Authentifizierung automatisch durchgeführt wird.

  3. Mithilfe der Referenz zur Node.js-Clientbibliothek für Cloud Storage können Sie Ihre Anwendung so gestalten, dass sie Cloud Storage unterstützt.