Especificar dependências no Node.js

Uma função pode usar módulos Node.js externos, bem como dados locais. Dependências no Node.js são gerenciadas com npm e expressas em um arquivo de metadados chamado package.json.

Para especificar uma dependência para sua função, adicione-a ao seu arquivo package.json. Se você estiver implantando por meio da ferramenta de linha de comando gcloud, também poderá pré-instalar dependências e implementá-las com sua função. Por padrão, a pasta node_modules é adicionada ao seu arquivo .gcloudignore e não é enviada como parte de sua implantação. Para implantar dependências pré-instaladas, remova node_modules/ do arquivo .gcloudignore antes de implementar sua função.

Depois de implantar sua função, o Cloud Functions instala as dependências declaradas no arquivo package.json usando o comando npm install. No ambiente de execução do Node.js 8, se um arquivo yarn.lock existir, o comando yarn install será usado.

O ambiente de execução do Node.js também inclui vários pacotes do sistema no ambiente de execução. Se a função usar uma dependência que exija um pacote que não esteja listado, será possível solicitá-lo.

Neste exemplo, uma dependência é listada no arquivo package.json:

{
  "dependencies": {
    "uuid": "^3.0.1"
  }
}

Em seguida, a dependência é importada na função:

const uuid = require('uuid');

// Return a newly generated UUID in the HTTP response.
exports.getUuid = (req, res) => {
  res.send(uuid.v4());
};

Usar npm para instalar os módulos do Node.js

A maneira mais fácil de instalar um módulo Node.js é usar o comando npm install na pasta que contém sua Cloud Function. Por exemplo, o seguinte comando adiciona o módulo uuid:

npm install uuid

Esse processo combina duas etapas:

  1. Ele marca a versão mais recente do módulo como uma dependência em seu arquivo package.json. Importante: o Cloud Functions instala apenas módulos que são declarados em seu arquivo package.json.
  2. Ele faz o download do módulo no diretório node_modules. Isso permite que você use o módulo ao desenvolver localmente.

Se você não tiver o npm instalado na sua máquina, faça o download aqui.

Carregar módulos Node.js

Use a função require() do Node.js para carregar qualquer módulo Node.js que você tenha instalado. Também é possível usar a função require() para importar arquivos locais implantados com sua função.

Usar módulos particulares

Para usar um módulo npm particular, é preciso fornecer credenciais (token de autenticação) para o registro npm em um arquivo .npmrc localizado no diretório da função. A documentação do npm explica como criar tokens personalizados de acesso somente leitura. Não recomendamos a utilização do arquivo .npmrc criado no diretório pessoal, porque ele contém um token de leitura/gravação. Permissões de gravação não são necessárias durante a implantação e podem representar um risco de segurança.

Não inclua o arquivo .npmrc se você não estiver usando repositórios particulares, porque isso pode aumentar o tempo de implementação de suas funções.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Cloud Functions Documentation