Especifique as dependências do aplicativo Node.js declarando-as
no arquivo package.json
.
Por exemplo, se você quiser especificar Lodash
como uma dependência, seu arquivo package.json
pode ser semelhante a:
{
"dependencies": {
"lodash": "^4.0.1"
}
}
Durante a implantação, todas as dependencies
declaradas no arquivo package.json
são instaladas automaticamente pelo ambiente de execução do Node.js. Por padrão, o
comando npm install
é usado, mas os gerenciadores de pacotes Yarn e Pnpm também são
compatíveis:
Yarn: se existir um arquivo
yarn.lock
, o comandoyarn install --production
será usado.Pnpm: se um arquivo
pnpm-lock.yaml
existir, o comandopnpm install
será usado.
É preciso garantir que o arquivo yarn.lock
ou pnpm-lock.yaml
não esteja especificado na seção skip_files
do arquivo app.yaml
.
Por padrão, o App Engine armazena em cache as dependências buscadas para reduzir o tempo de criação. Para instalar uma versão sem cache da dependência, use o comando:
gcloud app deploy --no-cache
Suporte e limitações para o arquivo package.json
no ambiente padrão:
É possível usar qualquer pacote Node.js compatível com Linux no App Engine, incluindo pacotes que exigem extensões (C) nativas.
Se o campo
engines
for especificado nopackage.json
, você precisará definir uma versão compatível do Node.js.Todas as dependências que você define no campo
devDependencies
são ignoradas e não são instaladas para seu aplicativo no App Engine.O script
start
precisa ser leve e excluir etapas de versão para o melhor desempenho, porque o script é executado sempre que uma nova instância de seu aplicativo é criada.
Dependências particulares com o Artifact Registry
Se o aplicativo usa um módulo npm privado,
é possível usar o repositório de pacotes Node.js do Artifact Registry
para hospedar dependências privadas. Ao implantar o aplicativo, o processo de compilação
gera automaticamente credenciais do Artifact Registry para a
conta de serviço do Cloud Build.
Assim, você não precisará gerar credenciais adicionais.
Para incluir dependências privadas, liste o repositório do Artifact Registry e
defina as configurações para autenticar com o registro no seu arquivo
.npmrc
no diretório do app. Exemplo:
@SCOPE:registry=https://REGION_ID-npm.pkg.dev/PROJECT_ID/REPOSITORY_NAME
//REGION_ID-npm.pkg.dev/PROJECT_ID/REPOSITORY_NAME:always-auth=true
Essa abordagem também funciona para o gerenciador de pacotes Yarn v1.
Se você estiver usando o Yarn v2 ou uma versão mais recente, liste o repositório do Artifact Registry e
defina as configurações de autenticação com o registro no seu arquivo .yarnrc.yml
no diretório do app. Exemplo:
npmScopes:
SCOPE:
npmRegistryServer: https://REGION_ID-npm.pkg.dev/PROJECT_ID/REPOSITORY_NAME
npmAlwaysAuth: true
Depois, inclua seus pacotes no arquivo package.json
. Exemplo:
{
"dependencies": {
" @SCOPE/my-package": "^1.0.0"
}
}
Como instalar um framework da Web
Você precisará usar uma biblioteca da Web para permitir que o aplicativo disponibilize solicitações da Web. Você pode usar qualquer biblioteca da Web do Node.js, incluindo estas:
Para usar um framework da Web específico, como o Express.js, adicione o framework ao arquivo package.json
:
usando npm:
npm install --save express
usando yarn:
yarn add express
Usando o pnpm:
pnpm add express
Por exemplo, o arquivo package.json
resultante pode ser semelhante a:
{
"dependencies": {
"lodash": "^4.0.1",
"express": "^4.16.2"
}
}
Como instalar as bibliotecas de cliente do Cloud
As bibliotecas de cliente do Cloud para Node.js são a maneira idiomática para os desenvolvedores do Node.js se integrarem aos serviços do Google Cloud, como o Firestore no modo Datastore (Datastore) e o Cloud Storage.
Para instalar a biblioteca de cliente do Node.js para o Cloud Storage:
Instale as bibliotecas de cliente do Cloud localmente usando um gerenciador de pacotes:
Para usar
npm
, execute:npm install --save @google-cloud/storage
Para usar
yarn
, execute:yarn add @google-cloud/storage
Para usar
pnpm
, execute:pnpm add @google-cloud/storage
Configure a autenticação. É possível configurar as bibliotecas de cliente do Cloud para Node.js para processar a autenticação automaticamente.
Use a referência da biblioteca de cliente do Node.js para Cloud Storage a fim de implementar o suporte ao serviço do Cloud Storage no aplicativo.