Como especificar dependências no Node.js

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

Para especificar uma dependência da sua função, inclua-a no 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 implantá-las junto com sua função. Por padrão, a pasta node_modules é adicionada ao arquivo .gcloudignore e não é carregada como parte da implantação. Para implantar dependências pré-instaladas, remova node_modules/ do arquivo .gcloudignore antes de implantar sua função.

Depois que você implantar a função, o Cloud Functions instala as dependências declaradas no arquivo package.json usando o comando npm install. Se houver um arquivo yarn.lock no ambiente de execução do Node.js 8, 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 está 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());
};

Como usar npm para instalar 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 função do Cloud Functions. Por exemplo, o seguinte comando adiciona o módulo uuid:

npm install uuid

Isso combina duas etapas:

  1. Marca a versão mais recente do módulo como uma dependência no seu arquivo package.json. Isso é muito importante: o Cloud Functions instala apenas módulos declarados no seu arquivo package.json.
  2. Ele faz o download do módulo para seu 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.

Como carregar módulos Node.js

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

Como usar módulos privados

Para usar um módulo npm particular (em inglês), é necessário fornecer as credenciais (token de autenticação) do 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 e gravação. As permissões de gravação não são obrigató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. Isso pode aumentar o tempo de implantação das funções.

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

Enviar comentários sobre…

Cloud Functions Documentation