Adicionar pacotes ao projeto do Node.js

Concluído

O Node.js tem pacotes internos para tarefas como gerenciamento de arquivos e manipulação de HTTP. Mas há também uma grande variedade de pacotes de terceiros oferecidos no registro npm.

Quando e como selecionar um pacote npm

Como um novo desenvolvedor da Tailwind Traders, você precisa adicionar funcionalidade a um projeto. Você pode escrever o código, mas decide usar um pacote já existente. Essa decisão de desenvolvimento é um cenário comum.

Quando você deve usar um pacote existente? Estes são alguns fatores a serem considerados:

  • Qualidade: Para tarefas como segurança, o uso de pacotes bem estabelecidos garante que você esteja seguindo as melhores práticas e tratando casos de borda.
  • Eficiência: Escrever seu próprio código leva tempo. O uso de pacotes existentes pode lhe poupar esforços significativos.
  • Manutenção: As bibliotecas precisam de atualizações e correções de bugs. Geralmente, é mais eficiente permitir que uma equipe de código aberto lide com isso.

Os desenvolvedores podem encontrar e baixar pacotes de várias fontes, como:

  • Registros: Os registros são coleções de pacotes, como o registro npm. Você também pode hospedar seu próprio registro.
  • Repositórios: Você pode instalar pacotes diretamente de uma URL do GitHub.
  • Arquivos: Os pacotes podem ser instalados a partir de uma pasta local ou arquivo compactado, útil para testar seus próprios pacotes.
  • Diretórios: Você também pode instalar diretamente de um diretório.

Depois de selecionar um pacote, verifique suas dependências para considerar os seguintes fatores:

  • Tamanho: Mais dependências significam um volume maior. O tamanho do volume será importante se você tiver limitações de largura de banda ou hardware. Lembre-se de que a instalação de um pacote também instala suas dependências. Isso pode resultar em uma pasta de node_modules grande.
  • Popularidade: A popularidade de um pacote pode indicar sua qualidade.
  • Licenciamento: Se você planeja vender seu software, verifique se todas as licenças de pacotes de dependência permitem a reutilização e a revenda.
  • Manutenção ativa: Evite dependências preteridas ou raramente atualizadas.

Para saber mais sobre um pacote, visite a página do pacote no NPM e seu repositório GitHub. Você também pode usar o comando npm: npm view <package name>.

Como instalar um pacote

Para instalar um pacote, use a CLI do npm instalada com Node.js. Você pode adicionar um pacote ao seu projeto do Node.js com o comando npm install no terminal.

npm install <name of package>

Quando você executa o comando install, a ferramenta de linha de comando se conecta a um registro global, busca o código e o coloca em uma pasta node_modules na raiz do seu projeto.

Algumas opções comuns para o comando de instalação incluem:

  • Para pacotes somente de desenvolvimento, use --save-dev. Essa opção é salva na propriedade devDependencies de package.json. Essas dependências geralmente são ferramentas de formatação, lint, build, transpilação e teste.
  • Para pacotes somente de produção, use --production. Essa opção exclui pacotes somente de desenvolvimento.
  • Para ferramentas disponíveis globalmente, use -g. As ferramentas de linha de comando geralmente são instaladas globalmente em vez de importadas para projetos. As dependências globais são instaladas em um diretório de todo o sistema, não no nível de projeto node_modules. No entanto, os pacotes globais podem atrapalhar seu sistema. O comando npx resolve isso instalando temporariamente pacotes. Use npx <name> para buscar um pacote, executá-lo e removê-lo.

Após a instalação, o diretório do projeto se parecerá com o exemplo a seguir:

package.json
node_modules/
  <name of dependency>/
    <files included in the dependency>
src
  index.js

Comandos da CLI do npm

A ferramenta de linha de comando npm tem alguns comandos para ajudar você com tarefas como instalar pacotes, criar pacotes e inicializar projetos Node.js.

Os comandos do NPM são divididos em categorias:

  • Gerenciar dependências: Comandos para instalar, atualizar e remover pacotes.
  • Executar scripts: Comandos para gerenciar fluxos de desenvolvimento, como teste e compilação de código.
  • Configurar o ambiente: Comandos para configurar caminhos de instalação e fontes de pacote.
  • Criar e publicar pacotes: Comandos para criar e publicar pacotes.

Para ver uma lista detalhada com todos os comandos, insira o seguinte comando no terminal:

npm --help

Verificar a instalação

Para ver o que está em sua pasta package.json, use npm list. O comando npm list lista todos os pacotes que foram instalados no diretório node_modules. Cada pacote instalado instalou todas as suas próprias dependências.

Como o comando list pode resultar em uma lista longa, dificultando a compreensão, você pode listar os pacotes em diferentes níveis com o comando list. Na profundidade 0, o comando lista o mesmo conteúdo que você tem na seção dependencies de seu package.json.

npm list --depth=<depth>

Se você instalou o pacote Jest, npm list --depth=0 produzirá uma saída semelhante a esta:

├── jest@26.0.1

Limpar dependências

Remova o pacote que não for mais necessário. A remoção de uma dependência mantém seu projeto limpo e economiza espaço. Essa limpeza é especialmente importante para SPAs (Aplicativos de Página Única), como Angular, React ou Vue. Esses aplicativos agrupam e compactam o código em um arquivo servido ao navegador. Quanto maior o arquivo, mais tempo leva para carregar, o que pode deter os usuários.

Há duas maneiras de limpar as dependências que se tornam desnecessárias:

  • Desinstalar: para desinstalar um pacote, execute o npm uninstall <name of dependency>. Esse comando remove o pacote do arquivo de manifesto package.json e da pasta node_modules.
  • Remover: Use npm prune para remover todas as dependências não listadas de node_modules. A remoção é útil quando você quer remover várias dependências sem executar a desinstalação para cada uma. Para remover:
    1. Exclua as entradas de dependências ou devDependencies em package.json.
    2. run npm prune.