Especifica dependencias

Para especificar las dependencias de la app de Node.js, debes declararlas en el archivo package.json.

Por ejemplo, si deseas especificar Lodash como una dependencia, tu archivo package.json podría tener el siguiente aspecto:

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

Durante la implementación, el entorno de ejecución de Node.js instala automáticamente todas las dependencies declaradas en tu archivo package.json. Según la configuración predeterminada, se usa el comando npm install. Sin embargo, también se admiten los administradores de paquetes Yarn y Pnpm:

  • Yarn: Si existe un archivo yarn.lock, se usa el comando yarn install --production en su lugar.

  • Pnpm: Si existe un archivo pnpm-lock.yaml, se usa el comando pnpm install en su lugar.

Ten en cuenta que debes asegurarte de que los archivos yarn.lock o pnpm-lock.yaml no se especifiquen en la sección skip_files de tu archivo app.yaml.

De manera predeterminada, App Engine almacena en caché las dependencias obtenidas para reducir los tiempos de compilación. Usa el siguiente comando para instalar una versión de la dependencia no almacenada en caché:

gcloud app deploy --no-cache

Asistencia y limitaciones para el archivo package.json en el entorno estándar:

  • Puedes usar cualquier paquete de Node.js compatible con Linux con App Engine, incluidos los paquetes que requieren extensiones nativas (C).

  • Si se especifica el campo engines en el package.json, debes definir una versión de Node.js compatible.

  • Todas las dependencias que definas en el campo devDependencies se ignorarán y no se instalarán en la app en App Engine.

  • La secuencia de comandos start debe ser básica y excluir los pasos de compilación para obtener el mejor rendimiento, ya que la secuencia de comandos se ejecuta cada vez que se crea una instancia nueva de la aplicación.

Dependencias privadas con Artifact Registry

Si tu app usa un módulo de npm privado, puedes usar un repositorio de paquetes de Node.js de Artifact Registry para alojar dependencias privadas. Cuando implementas tu app, el proceso de compilación genera automáticamente credenciales de Artifact Registry para la cuenta de servicio de Cloud Build a fin de que no tengas que generar credenciales adicionales. Para incluir dependencias privadas, enumera el repositorio de Artifact Registry y establece la configuración de autenticación con el registro en tu archivo .npmrc en el directorio de la app. Por ejemplo:

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

Ten en cuenta que este enfoque también funciona con el administrador de paquetes de Yarn v1. Si usas Yarn v2 o una versión posterior, enumera el repositorio de Artifact Registry y establece la configuración para autenticarte con el registro en tu archivo .yarnrc.yml en el directorio de la app. Por ejemplo:

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

Luego, incluye tus paquetes en el archivo package.json. Por ejemplo:

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

Instala un marco de trabajo web

Tendrás que usar un marco de trabajo web para habilitar tu aplicación a entregar solicitudes web. Puedes usar cualquier marco de trabajo Node.js, entre ellos:

Para usar un framework web en particular, como Express.js, agrega el framework a tu archivo package.json:

  • Si usas npm:

    npm install --save express
  • Si usas yarn:

    yarn add express
  • Si usas pnpm:

    pnpm add express

Por ejemplo, el archivo package.json resultante podría verse de la siguiente manera:

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

Instala bibliotecas cliente de Cloud

Bibliotecas cliente de Cloud para Node.js es la forma idiomática que usan los desarrolladores de Node.js para integrarse a los servicios de Google Cloud, como Firestore en modo Datastore (Datastore) y Cloud Storage.

Si deseas instalar la biblioteca cliente de Node.js para Cloud Storage, haz lo siguiente:

  1. Instala las bibliotecas cliente de Cloud de forma local con un administrador de paquetes:

    • Para usar npm, ejecuta lo siguiente:

      npm install --save @google-cloud/storage
    • Para usar yarn, ejecuta lo siguiente:

      yarn add @google-cloud/storage
    • Para usar pnpm, ejecuta lo siguiente:

      pnpm add @google-cloud/storage
  2. Configura la autenticación. Puedes configurar las bibliotecas cliente de Cloud para Node.js a fin de manejar la autenticación automáticamente.

  3. Para implementar la asistencia del servicio de Cloud Storage en tu app, utiliza la biblioteca cliente de Node.js para Cloud Storage.