Spécifier des dépendances

Vous spécifiez les dépendances pour votre application Node.js en les déclarant dans le fichier package.json.

Par exemple, si vous souhaitez spécifier Lodash en tant que dépendance, votre fichier package.json peut se présenter comme suit :

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

Pendant le déploiement, l'environnement d'exécution Node.js installe automatiquement toutes les dépendances (dependencies) déclarées dans votre fichier package.json. Par défaut, la commande npm install est utilisée. Toutefois, les gestionnaires de packages Yarn et Pnpm sont également compatibles :

  • Yarn : si un fichier yarn.lock existe, la commande yarn install --production est utilisée à la place.

  • Pnpm : si un fichier pnpm-lock.yaml existe, la commande pnpm install est utilisée à la place.

Notez que vous devez vous assurer que le fichier yarn.lock ou pnpm-lock.yaml n'est pas spécifié dans la section skip_files de votre fichier app.yaml.

Par défaut, App Engine met en cache les dépendances obtenues afin de réduire la durée de compilation. Pour installer une version non mise en cache de la dépendance, exécutez la commande suivante :

gcloud app deploy --no-cache

Compatibilité et limitations du fichier package.json dans l'environnement standard :

  • Vous pouvez utiliser n'importe quel package Node.js compatible avec Linux dans App Engine, y compris les packages qui requièrent des extensions (C) natives.

  • Si le champ engines est spécifié dans votre package.json, vous devez définir une version Node.js compatible.

  • Toutes les dépendances que vous définissez dans le champ devDependencies sont ignorées et ne sont pas installées pour votre application dans App Engine.

  • Le script start doit être léger et exclure les étapes de compilation pour optimiser les performances, car il s'exécute chaque fois qu'une nouvelle instance de votre application est créée.

Dépendances privées avec Artifact Registry

Si votre application utilise un module npm privé, vous pouvez utiliser un dépôt de packages Node.js Artifact Registry pour héberger des dépendances privées. Lors du déploiement de votre application, le processus de compilation génère automatiquement des identifiants Artifact Registry pour le compte de service Cloud Build. Vous n'avez donc pas besoin de générer d'identifiants supplémentaires. Pour inclure des dépendances privées, répertoriez le dépôt Artifact Registry et configurez les paramètres d'authentification auprès du registre dans votre fichier .npmrc, dans le répertoire de l'application. Exemple :

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

Notez que cette approche fonctionne également pour le gestionnaire de packages Yarn v1. Si vous utilisez Yarn v2 ou une version supérieure, répertoriez le dépôt Artifact Registry et configurez les paramètres d'authentification auprès du registre dans votre fichier .yarnrc.yml, dans le répertoire de l'application. Exemple :

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

Ensuite, incluez vos packages dans le fichier package.json. Exemples :

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

Installer un framework Web

Vous devez utiliser un framework Web pour permettre à votre application de répondre aux requêtes Web. Vous pouvez utiliser n’importe quel framework Web Node.js, y compris les suivants :

Pour utiliser un framework Web particulier, tel que Express.js, ajoutez-le à votre fichier package.json :

  • Avec npm :

    npm install --save express
  • Avec yarn :

    yarn add express
  • Avec pnpm :

    pnpm add express

Par exemple, le fichier package.json obtenu peut se présenter comme suit :

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

Installer les bibliothèques clientes Cloud

Les bibliothèques clientes Cloud pour Node.js constituent le moyen idiomatique dont disposent les développeurs Node.js pour intégrer les services Google Cloud, tels que Firestore en mode Datastore et Cloud Storage.

Pour installer la bibliothèque cliente Node.js pour Cloud Storage, procédez comme suit :

  1. Installez les bibliothèques clientes Cloud en local à l'aide d'un gestionnaire de packages :

    • Pour utiliser npm, exécutez :

      npm install --save @google-cloud/storage
    • Pour utiliser yarn, exécutez :

      yarn add @google-cloud/storage
    • Pour utiliser pnpm, exécutez :

      pnpm add @google-cloud/storage
  2. Configurez l'authentification. Vous pouvez configurer les bibliothèques clientes Cloud pour Node.js afin de gérer l'authentification automatiquement.

  3. Suivez la documentation de référence sur la bibliothèque cliente Node.js pour Cloud Storage pour rendre le service Cloud Storage compatible avec votre application.