Especificar dependências

Especifica as dependências da sua app Node.js declarando-as no ficheiro package.json.

Por exemplo, se quiser especificar Lodash como uma dependência, o ficheiro package.json pode ter o seguinte aspeto:

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

Durante a implementação, o tempo de execução do Node.js instala automaticamente todos os dependencies declarados no seu ficheiro package.json. Por predefinição, é usado o comando npm install. No entanto, os gestores de pacotes Yarn e Pnpm também são suportados:

  • Yarn: se existir um ficheiro yarn.lock, é usado o comando yarn install --production.

  • Pnpm: se existir um ficheiro pnpm-lock.yaml, é usado o comando pnpm install.

Tenha em atenção que tem de garantir que o ficheiro yarn.lock ou pnpm-lock.yaml não está especificado na secção skip_files do ficheiro app.yaml.

Por predefinição, o App Engine armazena em cache as dependências obtidas para reduzir os tempos de compilação. Para instalar uma versão não colocada em cache da dependência, use o comando:

gcloud app deploy --no-cache

Suporte e limitações para o ficheiro package.json no ambiente padrão:

  • Pode usar qualquer pacote Node.js compatível com Linux com o App Engine, incluindo pacotes que requerem extensões nativas (C).

  • Se o campo engines for especificado no seu package.json, tem de definir uma versão do Node.js compatível.

  • Todas as dependências que definir no campo devDependencies são ignoradas e não são instaladas para a sua app no App Engine.

  • O script start deve ser simples e excluir passos de compilação para ter o melhor desempenho, uma vez que o script é executado sempre que é criada uma nova instância da sua aplicação.

Dependências privadas com o Artifact Registry

Se a sua app usar um módulo npm privado, pode usar um repositório de pacotes Node.js do Artifact Registry para alojar dependências privadas. Quando implementa a sua app, o processo de compilação gera automaticamente credenciais do Artifact Registry para a conta de serviço do Cloud Build para que não precise de gerar credenciais adicionais. Para incluir dependências privadas, liste o repositório do Artifact Registry e configure as definições para autenticação com o registo no ficheiro .npmrc no diretório da app. Por 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

Tenha em atenção que esta abordagem também funciona para o gestor de pacotes Yarn v1. Se estiver a usar o Yarn v2 ou superior, liste o repositório do Artifact Registry e configure as definições para autenticação com o registo no ficheiro .yarnrc.yml no diretório da app. Por exemplo:

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

Posteriormente, inclua os seus pacotes no ficheiro package.json. Por exemplo:

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

Instalar uma framework Web

Tem de usar uma framework Web para permitir que a sua app publique pedidos Web. Pode usar qualquer framework Web Node.js, incluindo o seguinte:

Para usar uma framework Web específica, como o Express.js, adicione a framework ao ficheiro package.json:

  • Usando o npm:

    npm install express
  • Usar fio:

    yarn add express
  • Usando o pnpm:

    pnpm add express

Por exemplo, o ficheiro package.json resultante pode ter o seguinte aspeto:

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

Instalar as bibliotecas de cliente da Google Cloud

As bibliotecas cliente da nuvem para Node.js são a forma idiomática de os programadores de Node.js se integrarem com Google Cloud serviços, como o Firestore no modo Datastore (Datastore) e o Cloud Storage.

Para instalar a biblioteca cliente do Node.js para o Cloud Storage:

  1. Instale as bibliotecas cliente da nuvem localmente através de um gestor de pacotes:

    • Para usar o npm, execute o seguinte comando:

      npm install @google-cloud/storage
    • Para usar o yarn, execute o seguinte comando:

      yarn add @google-cloud/storage
    • Para usar o pnpm, execute o seguinte comando:

      pnpm add @google-cloud/storage
  2. Configurar autenticação. Pode configurar as bibliotecas cliente da nuvem para Node.js de modo a processarem a autenticação automaticamente.

  3. Use a biblioteca cliente Node.js para o Cloud Storage como referência para implementar suporte para o serviço Cloud Storage na sua app.