Especifica dependencias en Node.js

Una función puede usar módulos de Node.js externos y datos locales. Las dependencias en Node.js se administran con npm y se expresan en un archivo de metadatos llamado package.json.

A fin de especificar una dependencia para tu función, agrégala a tu archivo package.json. Si estás implementando a través de la herramienta de línea de comandos de gcloud, también puedes instalar dependencias previamente y, luego, implementarlas junto con tu función. De forma predeterminada, la carpeta node_modules se agrega a tu archivo .gcloudignore y no se sube como parte de tu implementación. Para implementar dependencias instaladas previamente, quita node_modules/ del archivo .gcloudignore antes de implementar tu función.

Después de implementar tu función, Cloud Functions instala las dependencias declaradas en el archivo package.json con el comando de npm install. En el entorno de ejecución de Node.js 8, si existe un archivo yarn.lock, se usa el comando de yarn install en su lugar.

El entorno de ejecución de Node.js también incluye una cantidad de paquetes del sistema. Si tu función usa una dependencia que requiere un paquete que no aparece en la lista, puedes solicitar un paquete.

En este ejemplo, se incluye una dependencia en el archivo package.json:

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

Luego, la dependencia se importa en la función:

const uuid = require('uuid');

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

Usa npm para instalar los módulos de Node.js

La forma más fácil de instalar un módulo de Node.js es usar el comando de npm install en la carpeta que contiene tu función de Cloud Functions. Por ejemplo, el siguiente comando agrega el módulo uuid:

npm install uuid

Esto combina dos pasos:

  1. Marca la última versión del módulo como una dependencia en tu archivo package.json. Esto es muy importante: Cloud Functions solo instala módulos que están declarados en tu archivo package.json.
  2. Descarga el módulo en tu directorio node_modules. Esto te permite usar el módulo cuando desarrollas de forma local.

Si no tienes npm instalado en tu computadora, descárgalo.

Carga módulos Node.js

Utiliza la función require() de Node.js para cargar cualquier módulo de Node.js que hayas instalado. También puedes usar la función require() para importar archivos locales que implementes junto con tu función.

Usa módulos privados

Para utilizar un módulo de npm privado, debes proporcionar credenciales (token de autenticación) para el registro de npm en un archivo .npmrc ubicado en el directorio de la función. En la documentación de npm, se explica cómo crear tus propios tokens de acceso personalizados de solo lectura. No recomendamos el uso del archivo .npmrc creado en el directorio de inicio porque contiene un token de lectura-escritura. No se necesitan permisos de escritura para la implementación. Además, podrían poner en riesgo la seguridad.

No incluyas el archivo .npmrc si no usas repositorios privados, ya que puede aumentar el tiempo de implementación de tus funciones.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Cloud Functions