O que é NPM?
O NPM (node package manager) é o gerenciador de pacotes do node.js (runtime de javascript que permite utilizar a linguagem no back-end).
Em primeiro lugar, com o NPM você pode gerenciar dependências do seu projeto, acessar o repositório do NPM e ter acesso a inúmeras bibliotecas e frameworks JavaScript, permite a instalação/desinstalação dos mesmos assim como a criação de seus próprios módulos públicos ou privados.
Outro ponto importante do NPM é sobre o gerenciamento das versões das dependências de nossos projetos. Por exemplo, se em um projeto você está utilizando jQuery e o Bootstrap, antes era necessário baixar e atualizar manualmente cada biblioteca.
Sobretudo, o NPM cria o arquivo package.json, um arquivo que salva essas dependências e que, com um comando, mantém nossas bibliotecas atualizadas e, em novas instalações de nosso projeto por outros desenvolvedores, logo, com um comando elas serão baixadas e incorporadas sem a necessidade de todo o trabalho manual.
Curso Node.js - Fundamentos
Conhecer o cursoComo instalar o NPM - Node.js
Primeiramente, o NPM está incluso junto ao node.js, para instalar basta seguir os seguintes passos:
- Acessar o site oficial do node.js - https://nodejs.org
- Conforme a imagem abaixo, o site já reconheceu o sistema operacional (Windows, neste caso) e sugeriu o download de duas versões, LTS e Current. Priorize o download das versões LTS, que são as versões mais estáveis com maior suporte.
- No linux, você pode instalar pelo gerenciador de pacotes wget, basta abrir o terminal e executar:
wget -qO- https://deb.nodesource.com/setup_4.x | sudo bash -
- Logo em seguida:
sudo apt-get install --yes nodejs
- Para o macOS, você pode baixar o “macOS installer”. O instalador é um arquivo .pkg que você pode executar do Finder. Ao final da instalação ele irá informar sobre os dois binários instalados (node e npm).
Após a instalação do Node.js, você pode verificar tanto a versão do Node.js quanto a versão do NPM que foram instaladas executando os seguintes comandos: node -v
e npm -v
.
De antemão, o NPM também é um pacote Node.js, ou seja, podemos atualizar a versão do NPM utilizando ele mesmo executando o comando: npm install npm@latest -g
.
Como instalar um pacote no NPM
Agora para instalar um pacote no seu projeto utilizando o NPM é muito simples. Basta executar o seguinte comando no terminal (dentro do diretório do seu projeto): npm install [nome do pacote]
.
Por exemplo, eu criei o diretório npm na minha área de trabalho e instalei o pacote html-pdf (pacote este que nos auxilia a criar um conversor de html para pdf) executando o comando: npm install html-pdf
.
A estrutura de arquivos ficou da seguinte forma:
Como resultado, o NPM criou a pasta node_modules dentro da nossa pasta NPM, e dentro de node_modules temos uma pasta relacionada ao pacote html-pdf.
Também existe a opção de instalar um pacote global, ou seja, é possível acessar o pacote de qualquer diretório. Logo, basta instalar um pacote da seguinte maneira: npm install -g [pacote]
.
Afinal, é interessante instalar globalmente pacotes que sejam utilizados com frequência, assim você pode apenas executar os comandos necessários no terminal independente de qual diretório esteja. Como o pacote http-server, para subir servidores e testar suas aplicações.
Curso JavaScript - Fundamentos
Conhecer o cursoComo usar um pacote do NPM
Para utilizar o pacote em nosso projeto, é necessário importar o pacote no arquivo .js onde vamos trabalhar com o mesmo, adicionando uma linha de código seguindo a seguinte estrutura:
import * as pdf from 'html-pdf'; //import no padrão do ECMAScript2015
//outros imports
//código da aplicação
Desta forma a aplicação estará apta a utilizar o pacote externo instalado pelo NPM.
Você pode buscar por pacotes no próprio site do npm, acessando o https://npmjs.com/.
Arquivo package.json
Ao instalar pacotes em nossas aplicações eles devem ficar listados de alguma forma, para que outros desenvolvedores consigam efetuar novas instalações e/ou possam fazer novas alterações/atualizações. Para isso existe o arquivo package.json
Para criar o arquivo package.json é necessário utilizar o seguinte comando dentro do diretório da sua aplicação: npm init.
Agora, ao executar este comando, surgirá uma série de perguntas referentes à sua aplicação, como a imagem abaixo:
Você deve responder as questões e confirmar se tudo está ok, logo em seguida o arquivo package.json será criado. Com isso, teremos algo similar ao código:
{
"name": "pdfgenerator", //nome da aplicação
"version": "1.0.0", //versão
"description": "", //descrição
"main": "app.js", //arquivo principal
"type":"module", //padrão de importação dos modulos -> CommonJS ou ES6 (ECMAScript2015)
"dependencies": { //pacotes que a aplicação irá utilizar e a versão do pacote
"html-pdf": "^2.2.0"
},
"devDependencies": {}, //pacotes que são utilizadas somente
//no ambiente de desenvolvimento
"scripts": { //scripts para automatizar comandos
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "", //Autor
"license": "ISC" //tipo de licença
}
Formação Desenvolvedor JavaScript
Conhecer a formaçãoDesta forma eliminamos a necessidade de instalar cada pacote manualmente, sendo possível configurar a aplicação em novos ambientes de maneira prática e rápida.
Conclusão
Por fim, o NPM conta com um vasto repositório de pacotes, frameworks e bibliotecas JavaScript, permite a instalação e gerenciamento de pacotes internos e externos, também existem outras funções que você pode conferir nos artigos: “Node Package Manager - O que você pode fazer com ele?”, NPM – Você sabe o que dá para fazer com ele? e 10 Truques do NPM – Você conhece todos?
Enfim, se você for desenvolver utilizando node.js é, definitivamente, fundamental conhecer o NPM. Tanto que temos um curso específico de NPM, aproveite :)
Curso Npm - Gerenciador de pacotes para JavaScript
Conhecer o cursoPor fim, caso queira aprender mais sobre Node.js saiba que aqui na TreinaWeb temos o curso Node.js Fundamentos que possui 01h52 de vídeos e um total de 26 exercícios. Conheça também nossos outros cursos de Node.js.
Veja quais são os tópicos abordados durante o curso de Node.js - Fundamentos:
- Módulos e os padrões CommonJS/ECMAScript 2015;
- Manipulação de arquivos;
- Trabalhar com HTTP;
- Instalação de pacotes com o NPM;
- Eventos assíncronos e promises;
- Introdução ao TypeScript.