Utilizando Bibliotecas e Gerenciador de Pacotes NPM em Node.js
Além dos módulos integrados e personalizados do Node.js, existe uma vasta gama de bibliotecas, frameworks e utilitários variados, desenvolvidos por terceiros, que podem ser utilizados em projetos. Exemplos incluem express, grunt, gulp, entre outros. Esses recursos também estão disponíveis no ecossistema do Node.js e são distribuídos na forma de pacotes, que essencialmente representam um conjunto de funcionalidades.
Para facilitar a instalação e atualização desses pacotes, geralmente utilizamos um sistema de gerenciamento de pacotes. No Node.js, essa função é desempenhada pelo é necessário instalar o NPM (Node Package Manager), que é instalado automaticamente junto com o Node.js. No entanto, é possível atualizar a versão instalada para a mais recente, utilizando o seguinte comando no terminal:
npm install npm@latest -g
Para verificar a versão atual do npm, é utilizado o comando:
npm -v
Instalando Pacotes
Para instalar um pacote através do npm, utilizamos o comando npm install, seguido pelos nomes dos pacotes:
npm install nome_do_pacote1 nome_do_pacote2 nome_do_pacoteN
Como exemplo, vamos instalar o pacote lodash. O Lodash é uma biblioteca que permite manipular dados, especialmente arrays. Mais informações podem ser encontradas no site oficial da biblioteca: https://lodash.com/ .
Vamos supor que, em algum lugar do sistema de arquivos, definimos um diretório para o projeto chamado app
. Navegamos até a pasta do projeto no terminal com o comando cd
. Para instalar o Lodash no projeto, utilizamos o seguinte comando:
npm install lodash
Após a instalação do Lodash, a pasta node_modules aparecerá no diretório do projeto app
, contendo todos os módulos externos instalados. Especificamente, os arquivos da biblioteca Lodash estarão localizados em node_modules/lodash
.
Além disso, ao instalar um pacote, um arquivo package.json
é adicionado à pasta do projeto. Após adicionar o lodash, ele terá uma aparência semelhante a esta:
{
"dependencies": {
"lodash": "^4.17.21"
}
}
O arquivo package.json
é um objeto de configuração no formato JSON, onde cada propriedade representa uma seção distinta. Aqui, temos a seção dependencies
, que armazena os pacotes instalados. Podemos ver que o pacote lodash
está instalado, com a versão ^4.17.21
.
Outro arquivo criado no projeto é o package-lock.json
. Este arquivo é gerado automaticamente em qualquer operação que altere o package.json
e a estrutura de diretórios/arquivos no diretório node_modules
. Ele simplifica o gerenciamento de pacotes pelo npm.
Após instalar a biblioteca lodash, podemos usá-la. No diretório do projeto, criaremos um arquivo app.js
com o seguinte código:
const lodash = require("lodash");
const people = ["Tom", "Sam", "Bob"];
const employees = ["Tom", "Alice", "Sam"];
// União de arrays - o resultado contém apenas valores únicos
const result1 = lodash.union(people, employees);
console.log(result1); // [ "Tom", "Sam", "Bob", "Alice" ]
// Interseção de arrays - o resultado contém apenas valores comuns
const result2 = lodash.intersection(people, employees);
console.log(result2); // [ "Tom", "Sam" ]
Como instalamos a biblioteca lodash através do npm, podemos obter o módulo correspondente com a expressão require
:
Depois, podemos chamar as funções deste módulo. Para demonstrar, usamos a função union
, que combina dois arrays (conjuntos) e retorna um novo conjunto com apenas valores únicos. A função intersection
também é aplicada a arrays, mas retorna um conjunto contendo apenas os elementos comuns a todos os arrays.
Para executar o arquivo app.js
no console, usamos o comando node app.js
:
c:\app> node app.js [ "Tom", "Sam", "Bob", "Alice" ] [ "Tom", "Sam" ]
Se, em algum momento, não precisarmos mais de um pacote, podemos removê-lo com o comando npm uninstall
, especificando os pacotes a serem removidos:
npm uninstall pacote1 pacote2 pacoteN
Por exemplo, para remover o lodash instalado anteriormente:
npm uninstall lodash
Após a remoção, se abrirmos a pasta node_modules
, veremos que ela está vazia. O arquivo package.json
também será alterado, contendo um objeto vazio.
Obtendo Informações sobre um Pacote
Com o comando npm info [pacote]
, podemos obter informações detalhadas sobre um pacote específico. Por exemplo, para obter informações sobre o lodash
:
c:\app> npm info lodash lodash@4.17.21 | MIT | deps: none | versions: 114 Lodash modular utilities. https://lodash.com/ keywords: modules, stdlib, util dist .tarball: https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz .shasum: 679591c564c3bffaae8454cf0b3df370c3d6911c .integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== .unpackedSize: 1.4 MB maintainers: - mathias <mathias@qiwi.be> - jdalton <john.david.dalton@gmail.com> - bnjmnt4n <benjamin@dev.ofcr.se> dist-tags: latest: 4.17.21 published over a year ago by bnjmnt4n <benjamin@dev.ofcr.se>
Aqui, vemos uma grande quantidade de informações, incluindo versão, licença, mantenedores, data de publicação, tamanho do pacote e a página inicial.