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 Befehlyarn install --production
verwendet.Pnpm: Wenn die Datei
pnpm-lock.yaml
vorhanden ist, wird stattdessen der Befehlpnpm 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 Dateipackage.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. Beispiel:
@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. Beispiel:
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. Beispiel:
{
"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:
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
Richten Sie die Authentifizierung ein. Sie können die Cloud-Clientbibliotheken für Node.js so konfigurieren, dass die Authentifizierung automatisch durchgeführt wird.
Mithilfe der Referenz zur Node.js-Clientbibliothek für Cloud Storage können Sie Ihre Anwendung so gestalten, dass sie Cloud Storage unterstützt.