Node.js e npm
Node.js
Node.js Ă© um ambiente de execução JavaScript baseado no motor V8 do Google Chrome, que permite aos desenvolvedores executar cĂłdigo JavaScript no lado do servidor. Antes de sua existĂȘncia, o cĂłdigo JavaScript sĂł podia ser executado em um navegador web. Para o propĂłsito de nosso curso, Ă© importante porque executaremos cĂłdigo JavaScript que interage com a blockchain e precisamos de um ambiente capaz de processar esse cĂłdigo.
Instalação do Node.js e npm
InstalaciĂłn no Windows
Baixar o Instalador:
VĂĄ para a pĂĄgina de download do Node.js e baixe o instalador para Windows.
Executar o Instalador:
Execute o instalador e siga as instruçÔes do assistente de instalação.
Verificar a Instalação:
Abra um terminal (Command Prompt ou PowerShell) e execute os seguintes comandos:
nginxCopiar cĂłdigo
node -v npm -v
VocĂȘ deverĂĄ ver as versĂ”es instaladas do Node.js e npm.
Instalação no macOS
Instalar o Homebrew (se nĂŁo estiver instalado):
Abra um terminal e execute:
bashCopiar cĂłdigo
/bin/bash -c "$(curl -fsSL <https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh>)"
Instalar o Node.js usando o Homebrew:
Execute o seguinte comando no terminal:
brew install node
Verificar a instalação:
Execute os seguintes comandos no terminal:
node -v npm -v
VocĂȘ deverĂĄ ver as versĂ”es instaladas do Node.js e do npm.
npm
npm (Node Package Manager) Ă© o gerenciador de pacotes do Node.js, que permite instalar e atualizar pacotes de terceiros para usĂĄ-los no seu prĂłprio cĂłdigo.
Vamos ver um exemplo de como utilizar o Node.js e o npm em um projeto simples que serĂĄ um servidor web bĂĄsico.
Criação de um Projeto Node.js
Criar um DiretĂłrio para o Projeto
Abra um terminal e navegue até o diretório onde deseja criar seu projeto, depois execute:
mkdir mi-proyecto-node cd mi-proyecto-node
Inicializar o projeto com npm
Execute o seguinte comando para criar um arquivo
package.json
. Mais adiante explicaremos em mais detalhes o uso desse arquivo.npm init
Siga as instruçÔes para completar a configuração do projeto. VocĂȘ pode aceitar as configuraçÔes padrĂŁo pressionando Enter.
Instalar o Express
Certifique-se de estar no diretĂłrio do projeto e execute:
bashCopiar cĂłdigo
npm install express
Express Ă© um framework web minimalista e flexĂvel que fornece ferramentas para desenvolver aplicaçÔes web e mĂłveis.
Criar o arquivo do servidor
No diretĂłrio do projeto, crie um arquivo chamado
server.js
e adicione o seguinte cĂłdigo:javascriptCopiar cĂłdigo
const express = require('express'); const app = express(); const port = 3000; app.get('/', (req, res) => { res.send('Hello World!'); }); app.listen(port, () => { console.log(`Server running at <http://localhost>:${port}/`); });
Certifique-se de salvar as alteraçÔes.
Executar o servidor
No terminal, estando no diretĂłrio do projeto, execute:
bashCopiar cĂłdigo
node server.js
Verificar o servidor:
Abra um navegador e acesse:
http://localhost:3000/
.VocĂȘ deverĂĄ ver a mensagem "Hello World!". Se sim, parabĂ©ns!
Dessa forma, vimos como usar o npm para instalar pacotes como o Express e como o Node.js nos ajuda a executar cĂłdigo JavaScript â que, neste caso, nos permitiu iniciar um servidor web.
A seguir, falaremos sobre o arquivopackage.json
que é utilizado na configuração de projetos com Node.js.
Arquivo package.json
O arquivo package.json
Ă© um arquivo de configuração essencial em qualquer projeto Node.js. Ele contĂ©m informaçÔes sobre o projeto e suas dependĂȘncias, entre outros detalhes.
A seguir, um exemplo
{
"name": "mi-proyecto",
"version": "1.0.0",
"description": "DescripciĂłn de mi proyecto",
"main": "index.js",
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js"
},
"dependencies": {
"express": "^4.17.1"
},
"devDependencies": {
"nodemon": "^2.0.7"
},
"author": "Tu Nombre",
"license": "MIT"
}
DependĂȘncias
As dependĂȘncias sĂŁo mĂłdulos de cĂłdigo (tambĂ©m conhecidos como pacotes ou bibliotecas) que o seu projeto precisa para funcionar corretamente. Essas dependĂȘncias sĂŁo gerenciadas automaticamente pelo npm, que facilita sua instalação, atualização e administração.
DependĂȘncias de produção (
dependencies
):Essas sĂŁo as dependĂȘncias necessĂĄrias para que sua aplicação funcione em um ambiente de produção. Elas sĂŁo especificadas no arquivo
package.json
no campodependencies
.Exemplo:
{ "dependencies": { "express": "^4.17.1" } }
Neste caso,
express
Ă© uma dependĂȘncia de produção.
- DependĂȘncias de desenvolvimento (
devDependencies
):Essas sĂŁo as dependĂȘncias necessĂĄrias apenas durante o desenvolvimento da sua aplicação, como ferramentas de teste, transpiladores e analisadores de erros. Elas sĂŁo especificadas no arquivo
package.json
no campodevDependencies
.Exemplo:
{ "devDependencies": { "nodemon": "^2.0.7" } }
Neste caso,
nodemon
Ă© uma dependĂȘncia de desenvolvimento.
Instalação de dependĂȘncias
Instalar todas as dependĂȘncias:
Execute o seguinte comando no diretĂłrio do seu projeto. Isso instalarĂĄ todas as dependĂȘncias especificadas no seu arquivo
package.json
.npm install
- Atualizar dependĂȘncias
Atualizar todas as dependĂȘncias:
Para atualizar todas as dependĂȘncias para suas versĂ”es mais recentes permitidas pelo intervalo definido no
package.json
.npm update
Atualizar uma dependĂȘncia especĂfica:
Para atualizar uma dependĂȘncia especĂfica para a versĂŁo mais recente permitida pelo intervalo de versĂ”es definido no
package.json
.npm update nombre-del-paquete
- Remover dependĂȘncias
Remover uma dependĂȘncia de produção:
Use o seguinte comando para remover uma dependĂȘncia e eliminĂĄ-la automaticamente do campo
dependencies
no seupackage.json
.npm uninstall nombre-del-paquete
Remover uma dependĂȘncia de desenvolvimento:
Use o mesmo comando. O npm removerĂĄ a dependĂȘncia do campo correspondente
devDependencies
caso ela esteja lĂĄpackage.json
.npm uninstall nombre-del-paquete --save-dev
BenefĂcios de gerenciar dependĂȘncias com o npm
Facilidade de instalação e atualização: simplifica o gerenciamento de dependĂȘncias por meio de comandos simples.
Controle de versÔes: permite especificar versÔes exatas, garantindo que o projeto use as versÔes corretas dos pacotes.
Redução do tamanho do cĂłdigo: possibilita a reutilização de bibliotecas de terceiros, reduzindo a quantidade de cĂłdigo que vocĂȘ precisa escrever e manter.
Automatização de tarefas: permite automatizar tarefas comuns (como testes ou build do projeto) através de scripts definidos no arquivo
package.json
.
Last updated