Spécifier des dépendances dans Node.js

Une fonction est autorisée à utiliser d'autres modules Node.js ainsi que des données locales. Dans Node.js, les dépendances sont gérées avec npm et exprimées dans un fichier de métadonnées appelé package.json.

Pour spécifier une dépendance pour votre fonction, ajoutez-la au fichier package.json. Si vous effectuez un déploiement à l'aide de l'outil de ligne de commande gcloud, vous pouvez également préinstaller des dépendances et les déployer avec votre fonction. Par défaut, le dossier node_modules est ajouté à votre fichier .gcloudignore et n'est pas importé dans le cadre de votre déploiement. Pour déployer des dépendances préinstallées, supprimez node_modules/ du fichier .gcloudignore avant de déployer votre fonction.

Après avoir déployé votre fonction, Cloud Functions installe les dépendances déclarées dans le fichier package.json à l'aide de la commande npm install. Dans l'environnement d'exécution Node.js 8, si un fichier yarn.lock existe, la commande yarn install est utilisée à la place.

L'environnement d'exécution Node.js inclut également un certain nombre de packages système. Si votre fonction utilise une dépendance nécessitant un package non répertorié, vous pouvez demander un package.

Dans cet exemple, une dépendance est répertoriée dans le fichier package.json :

{
  "dependencies": {
    "uuid": "^3.0.1"
  }
}

La dépendance est alors importée dans la fonction :

const uuid = require('uuid');

// Return a newly generated UUID in the HTTP response.
exports.getUuid = (req, res) => {
  res.send(uuid.v4());
};

Utiliser npm pour installer des modules Node.js

La méthode la plus simple pour installer un module Node.js consiste à utiliser la commande npm install dans le dossier contenant votre fonction Cloud. Par exemple, la commande suivante ajoute le module uuid :

npm install uuid

Cette commande a un double effet :

  1. Elle définit la dernière version du module comme dépendance dans votre fichier package.json. C'est très important : Cloud Functions installe uniquement les modules qui sont déclarés dans votre fichier package.json.
  2. Elle télécharge le module dans votre répertoire node_modules. Cela vous permet d'utiliser le module lors du développement local.

Si vous n'avez pas installé npm sur votre ordinateur, procurez-vous npm.

Charger des modules Node.js

Utilisez la fonction require() Node.js pour charger les modules Node.js que vous avez installés. Vous pouvez également utiliser la fonction require() pour importer les fichiers locaux que vous déployez avec votre fonction.

Utiliser des modules privés

Pour utiliser un module npm privé, vous devez fournir les identifiants (jeton d'authentification) du registre npm dans un fichier .npmrc situé dans le répertoire de la fonction. La documentation npm explique comment créer des jetons d'accès personnalisés en lecture seule. Nous déconseillons l'utilisation du fichier .npmrc créé dans le répertoire d'accueil, car il contient un jeton de lecture/écriture. Les autorisations d'écriture ne sont pas requises pendant le déploiement et peuvent présenter un risque pour la sécurité.

N'incluez pas le fichier .npmrc si vous n'utilisez pas de dépôts privés, car cela peut augmenter le temps de déploiement de vos fonctions.

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Cloud Functions Documentation