Para especificar las dependencias de tu aplicación Node.js, debes declararlas en el archivo package.json
.
Por ejemplo, si quiere especificar Lodash como dependencia, su archivo package.json
podría tener el siguiente aspecto:
{
"dependencies": {
"lodash": "^4.0.1"
}
}
Durante la implementación, el tiempo de ejecución de Node.js instala automáticamente todos los dependencies
declarados en el archivo package.json
. De forma predeterminada, se usa el comando npm install
, pero también se admiten los gestores de paquetes Yarn y Pnpm:
Yarn: si existe un archivo
yarn.lock
, se usa el comandoyarn install --production
.Pnpm: si existe un archivo
pnpm-lock.yaml
, se usa el comandopnpm install
.
Tenga en cuenta que debe asegurarse de que el archivo yarn.lock
o pnpm-lock.yaml
no se especifique en la sección skip_files
del archivo app.yaml
.
De forma predeterminada, App Engine almacena en caché las dependencias obtenidas para reducir los tiempos de compilación. Para instalar una versión sin caché de la dependencia, usa el comando:
gcloud app deploy --no-cache
Compatibilidad y limitaciones del 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 requieran extensiones nativas (C).
Si se especifica el campo
engines
en tupackage.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 tu aplicación de App Engine.La secuencia de comandos
start
debe ser ligera y no incluir pasos de compilación para obtener el mejor rendimiento, ya que se ejecuta cada vez que se crea una nueva instancia de la aplicación.
Dependencias privadas con Artifact Registry
Si tu aplicación usa un módulo npm privado, puedes usar un repositorio de paquetes Node.js de Artifact Registry para alojar dependencias privadas. Al desplegar tu aplicación, el proceso de compilación genera automáticamente credenciales de Artifact Registry para la cuenta de servicio de Cloud Build, por lo que no tendrás que generar credenciales adicionales.
Para incluir dependencias privadas, enumera el repositorio de Artifact Registry y configura los ajustes para autenticarte en el registro en el archivo .npmrc
del directorio de la aplicación. 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 método también funciona con el gestor de paquetes Yarn v1.
Si usas Yarn 2 o una versión posterior, indica el repositorio de Artifact Registry y configura los ajustes para autenticarte en el registro en el archivo .yarnrc.yml
del directorio de la aplicación. Por ejemplo:
npmScopes:
SCOPE:
npmRegistryServer: https://REGION_ID-npm.pkg.dev/PROJECT_ID/REPOSITORY_NAME
npmAlwaysAuth: true
Después, incluye tus paquetes en el archivo package.json
. Por ejemplo:
{
"dependencies": {
" @SCOPE/my-package": "^1.0.0"
}
}
Instalar un framework web
Deberás usar un framework web para que tu aplicación pueda atender solicitudes web. Puedes usar cualquier framework web de Node.js, incluidos los siguientes:
Para usar un framework web concreto, como Express.js, añade el framework al archivo package.json
:
Por ejemplo, el archivo package.json
resultante podría tener el siguiente aspecto:
{
"dependencies": {
"lodash": "^4.0.1",
"express": "^4.16.2"
}
}
Instalar las bibliotecas de cliente de Cloud
Las bibliotecas de cliente de Cloud para Node.js son la forma idiomática de que los desarrolladores de Node.js se integren con Google Cloud servicios, como Firestore en el modo Datastore (Datastore) y Cloud Storage.
Para instalar la biblioteca de cliente de Node.js para Cloud Storage, sigue estos pasos:
Instala las bibliotecas de cliente de Cloud de forma local mediante un gestor de paquetes:
Para usar
npm
, ejecuta lo siguiente:npm install @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
Configura la autenticación. Puedes configurar las bibliotecas de cliente de Cloud para Node.js de forma que gestionen la autenticación automáticamente.
Usa la referencia de la biblioteca de cliente de Node.js para Cloud Storage para implementar la compatibilidad con el servicio Cloud Storage en tu aplicación.