Entorno de ejecución de Node.js

Cloud Functions admite los siguientes entornos de ejecución de Node.js:

  • Node.js 10
  • Node.js 12
  • Node.js 14 (vista previa pública)

A fin de obtener instrucciones para preparar tu máquina local para el desarrollo de Node.js, consulta Configurar un entorno de programación de Node.js.

Para comenzar con Node.js en Cloud Functions, consulta la guía de inicio rápido.

Selecciona el entorno de ejecución

Puedes seleccionar el entorno de ejecución de Node.js deseado para tu función durante la implementación.

gcloud

Si usas la herramienta de línea de comandos de gcloud, puedes especificar el entorno de ejecución con el parámetro --runtime. Por ejemplo:

gcloud functions deploy NAME --runtime nodejs12 --trigger-http

Para obtener más argumentos que puedes especificar cuando implementas una función, consulta Implementa con la herramienta de gcloud.

Console

Si usas Cloud Console, puedes seleccionar el entorno de ejecución cuando creas y cuando implementas una función. Consulta la guía de inicio rápido de Cloud Console para obtener instrucciones detalladas.

Entorno de ejecución

Incluye el entorno de ejecución, el sistema operativo, los paquetes y una biblioteca que invoca tu función.

Los entornos de ejecución de Node.js usan un entorno de ejecución basado en Ubuntu 18.04. Consulta Entorno de ejecución de Cloud Functions para obtener más información.

La biblioteca que invoca tu función es el framework de funciones del nodo.

Estructura del código fuente

A fin de que Cloud Functions encuentre la definición de tu función, cada entorno de ejecución tiene ciertos requisitos de estructura para el código fuente. Consulta Escribe funciones de Cloud Functions para obtener más información.

Especifica dependencias

A fin de especificar dependencias para tus funciones, enuméralas en un archivo package.json. Para obtener más información, consulta Especifica dependencias en Node.js.

Variables de entorno

Los entornos de ejecución de Node.js 10+ configuran de forma automática menos variables de entorno que los entornos de ejecución anteriores admitidos por Cloud Functions. Para obtener más detalles, consulta Usa variables de entorno.

Usa middleware para administrar las solicitudes HTTP

Las funciones de HTTP de Cloud Functions para Node.js proporcionan objetos request y response que son compatibles con ExpressJS a fin de simplificar el consumo de solicitudes HTTP. Cloud Functions lee automáticamente el cuerpo de la solicitud, de manera que siempre recibirás el cuerpo de una solicitud más allá del tipo de contenido. Esto quiere decir que las solicitudes HTTP se considerarán como completamente leídas para el momento en que tu código se ejecuta. La anidación de las aplicaciones de ExpressJS debe usarse con esta salvedad: en particular, puede que el middleware que espera que el cuerpo de una solicitud no se haya leído no se comporte como se prevé.

Node.js 14 (vista previa pública)

Node.js 14 (vista previa pública) presenta algunas funciones y conceptos nuevos. Contenido destacado:

  • Cadenas opcional. Las cadenas opcionales son así: {"hello": null}?.hello?.neat. Permiten el acceso seguro a claves profundas en objetos que podrían no existir.
  • Fusión nula. Esto presenta a ??, que es más seguro que usar || para la asignación (ya que solo se evalúa a false para null o undefined).

Puedes obtener más información sobre las características de Node.js 14 aquí.