Menu Docs
Página inicial do Docs
/
MongoDB Atlas
/ / /

Dependências externas

Nesta página

  • Adicionar um pacote externo
  • Adicione pacotes por nome e versão
  • Carregar um Diretório de Dependência
  • Importar um pacote em uma função
  • Importar um módulo completo
  • Importar uma subpasta de módulo

Uma dependência externa é uma biblioteca que inclui código que você não pode ou não deseja implementar. Por exemplo, você pode usar uma biblioteca oficial para um serviço externo ou uma implementação personalizada de uma estrutura de dados ou algoritmo.

O Atlas transpila automaticamente as dependências e também oferece suporte à maioria dos módulos Node.js integrados.

Observação

Crie seus próprios módulos

Embora a maioria dos módulos npm seja escrita por terceiros, você também pode criar e publicar seus próprios módulos npm para armazenar lógica específica do seu aplicação. Você pode disponibilizar seus módulos para a comunidade Node.js ou reservá-los para uso privado. Para mais informações, consulte o guia da npm sobre Contribuição de pacotes para o registro.

Para importar e usar uma dependência externa, primeiro você precisa adicionar a dependência ao seu aplicativo. Você pode adicionar pacotes por nome ou enviar um diretório de dependências.

Importante

Substituir dependências existentes

Você só pode usar um método de cada vez para especificar os pacotes externos que sua aplicação pode usar. O método mais recente que você usou para especificar dependências é a fonte da verdade e substitui as especificações anteriores.

Por exemplo, um pacote adicionado pelo nome por meio da IUsubstitui todas as cópias do mesmo pacote que você adicionou anteriormente, inclusive aquelas em um diretório de dependências carregado.

Você pode adicionar pacotes do registro npm ao seu aplicativo por nome. Você pode adicionar uma versão específica ou usar a versão mais recente.

1
  1. Navegue até a Página Triggers

    1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

    2. Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.

    3. Na barra lateral, clique em Triggers sob o título Services.

      A página Acionadores é exibida.

  2. Selecione o trigger ao qual deseja adicionar a dependência.

  3. Na página Edit Trigger, Go para a seção Function e clique em Add Dependency.

2
  1. Na janela modal Add Dependency , inclua as seguintes informações:

    Campo
    Descrição
    Definir um nome de pacote
    O nome do pacote npm.
    Versão do pacote
    Opcional. Versão específica da dependência a ser usada. Por padrão, as funções do Atlas utilizam a versão mais recente disponível.
  2. Clique em Add para adicionar o pacote.

Você pode acompanhar o status de adicionar a dependência no rastreador de progresso na parte inferior da janela. O rastreador de progresso fornece uma mensagem se o pacote foi bem-sucedido ou falhou. As mensagens de falha contêm informações adicionais sobre o motivo pelo qual o pacote não pôde ser adicionado.

3

Quando você adicionar a dependência com êxito, você a verá na lista de dependências na guia Dependencies na página Triggers principal.

Você pode fazer upload node_modules de um direório de pacotes compactado para a sua aplicação. Os diretórios de dependências compactados não podem exceder 15 MB.

Importante

Dependências existentes substituídas

Ao importar um arquivo, todas as dependências existentes serão removidas.

1

Para carregar dependências externas, primeiro você precisa de uma pasta local node_modules contendo pelo menos um pacote Node.js. Você pode usar o seguinte trecho de código para instalar localmente uma dependência que gostaria de carregar:

npm install <package name>

Se a pasta node_modules ainda não existir, este comando a cria automaticamente.

Observação

Métodos alternativos de instalação

Você também pode configurar um package.json e executar o comando npm install para instalar todos os pacotes (e suas dependências) listados em seu package.json.

Para saber mais sobre npm e node_modules, consulte a documentação npm.

2

Agora que você baixou todos os seus módulos npm , precisa pacote -los em um arquivo para poder carregá-los no Atlas. O Atlas suporta os formatos de arquivo .tar, .tar.gz, .tgz e .zip .

Criar um arquivo contendo a pasta node_modules:

tar -czf node_modules.tar.gz node_modules/
3

Depois de criar um arquivo contendo suas dependências, você pode carregar seu arquivo de dependência usando a UI do Atlas :

  1. Navegue até a página Triggers

    1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

    2. Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.

    3. Na barra lateral, clique em Triggers sob o título Services.

      A página Acionadores é exibida.

  2. Selecione a guia Dependencies.

  3. Clique em Upload Folder.

  4. No modal, clique em Upload Folder e selecione o arquivo node_modules.tar.gz que você acabou de criar.

  5. Clique Add. O Atlas carrega o arquivo, o que pode levar alguns minutos, dependendo da velocidade da sua conexão com a internet e do tamanho do seu arquivo de dependência.

  6. O Atlas exibe um banner indicando o sucesso ou falha da operação. Se for bem-sucedida, a aba Dependencies exibirá uma lista das dependências que você incluiu no seu arquivo de dependências.

    • Se os rascunhos estiverem habilitados, você também deverá clicar em Review & Deploy para aplicar estas alterações.

    • Se os rascunhos estiverem desativados, a alteração entrará em vigor dentro de 5 a 60 segundos, dependendo do tamanho de seu arquivo de dependências.

É possível importar módulos internos e pacotes externos que você adicionou à sua aplicação e usá-los em suas funções. Para importar um pacote, chame require() com o nome do pacote no corpo da função.

Importante

Onde importo módulos?

Os projetos Node.js geralmente colocam as chamadas do require() no escopo global de cada arquivo, mas o Atlas não é compatível com esse padrão. Você deve fazer chamadas require() dentro de um escopo de função.

exports = () => {
const R = require("ramda");
return R.map(x => x*2, [1,2,3]);
}
exports = function(arg){
const cloneDeep = require("lodash/cloneDeep");
var original = { name: "Deep" };
var copy = cloneDeep(original);
copy.name = "John";
console.log(`original: ${original.name}`);
console.log(`copy: ${copy.name}`);
return (original != copy);
};

Voltar

Global Modules