Tutorial de Nodejs: Aprenda de Forma Simples

Tutorial de Nodejs

A princípio, entender o tutorial de Nodejs pode parecer desafiador, mas com as orientações certas, você verá que essa ferramenta é indispensável para desenvolvedores modernos. Além de permitir a criação de aplicações robustas, o Node.js destaca-se por sua eficiência e flexibilidade.

Neste artigo, vou te mostrar passo a passo como começar, explorando desde a instalação até a construção de projetos. Juntamente com as melhores práticas, você terá uma visão clara de como usar o Nodejs em diferentes cenários.


O que é Node.js?

Antes de mais nada, é importante saber o que é o Node.js. Em outras palavras, o Node.js é um ambiente de execução JavaScript que funciona no lado do servidor. Ou seja, ele permite rodar códigos JavaScript fora do navegador, expandindo seu uso para backend.

Por que usar Node.js?

Em primeiro lugar, o Node.js é rápido e leve. Graças à sua arquitetura baseada em eventos, ele é perfeito para aplicações em tempo real, como chats e jogos online. Do mesmo modo, é altamente escalável, o que o torna ideal para projetos que precisam crescer.


Como Instalar o Node.js no Seu Computador

Primeiramente, é essencial instalar o Node.js para seguir este tutorial de Nodejs. Aqui está um guia simples para começar:

Passo 1: Baixe o Instalador

  1. Acesse o site oficial do Node.js (nodejs.org).
  2. Escolha a versão recomendada para sua máquina (geralmente, a LTS).

Passo 2: Instale o Node.js

  1. Execute o arquivo baixado.
  2. Siga as instruções na tela. O instalador configura automaticamente o gerenciador de pacotes NPM.

Verificando a Instalação

Depois de instalar, você precisa verificar se está tudo funcionando. Para isso, abra o terminal e digite:

bashCopiar códigonode -v

Este comando retornará a versão instalada do Node.js. Além disso, use o comando abaixo para verificar o NPM:

bashCopiar códigonpm -v

Criando Seu Primeiro Projeto em Node.js

Agora que o ambiente está pronto, vamos criar um projeto simples. Sobretudo, comece criando uma pasta para seu projeto:

Passo 1: Inicialize o Projeto

Dentro da pasta, execute o seguinte comando:

bashCopiar códigonpm init -y

Isso criará o arquivo package.json, que armazena as configurações do seu projeto.

Passo 2: Crie um Arquivo Principal

Crie um arquivo chamado app.js e adicione o seguinte código:

javascriptCopiar código<span class="hljs-variable language_" data-uipath_custom_id_23_4_59_15687="444">console</span>.<span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="445">log</span>(<span class="hljs-string" data-uipath_custom_id_23_4_59_15687="446">"Hello, Node.js!"</span>);

Depois, execute o script:

bashCopiar códigonode app.js

Parabéns! Você acabou de rodar seu primeiro código em Node.js.


Explorando o Gerenciador de Pacotes NPM

Além de rodar JavaScript no servidor, o Node.js brilha por sua comunidade ativa e seu gerenciador de pacotes, o NPM. Com ele, você pode instalar bibliotecas e frameworks prontos.

Instalando Pacotes com NPM

Por exemplo, para instalar o Express, uma biblioteca popular para criar APIs, use:

bashCopiar códigonpm install express

Depois disso, você pode importá-lo no seu projeto para começar a construir rotas e funcionalidades.


Trabalhando com Módulos no Node.js

Os módulos são blocos reutilizáveis de código. Nesse sentido, o Node.js permite criar e importar módulos facilmente.

Criando um Módulo

Dentro do seu projeto, crie um arquivo meuModulo.js com o código:

javascriptCopiar código<span class="hljs-variable language_" data-uipath_custom_id_23_4_59_15687="494">module</span>.<span class="hljs-property" data-uipath_custom_id_23_4_59_15687="495">exports</span> = {
  <span class="hljs-attr" data-uipath_custom_id_23_4_59_15687="496">saudacao</span>: <span class="hljs-keyword" data-uipath_custom_id_23_4_59_15687="497">function</span>(<span class="hljs-params" data-uipath_custom_id_23_4_59_15687="498"></span>) {
    <span class="hljs-keyword" data-uipath_custom_id_23_4_59_15687="499">return</span> <span class="hljs-string" data-uipath_custom_id_23_4_59_15687="500">"Olá, este é o meu módulo!"</span>;
  }
};

Importando o Módulo

No arquivo principal (app.js), importe e use o módulo:

javascriptCopiar código<span class="hljs-keyword" data-uipath_custom_id_23_4_59_15687="515">const</span> meuModulo = <span class="hljs-built_in" data-uipath_custom_id_23_4_59_15687="516">require</span>(<span class="hljs-string" data-uipath_custom_id_23_4_59_15687="517">'./meuModulo'</span>);
<span class="hljs-variable language_" data-uipath_custom_id_23_4_59_15687="518">console</span>.<span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="519">log</span>(meuModulo.<span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="520">saudacao</span>());

Conectando ao Banco de Dados com Node.js

Além de manipular rotas, o Node.js pode se conectar a bancos de dados. Um exemplo comum é usar o MongoDB, uma solução NoSQL altamente escalável.

Instalando o Driver do MongoDB

Use o comando:

bashCopiar códigonpm install mongodb

Depois, você pode configurar a conexão no seu projeto:

javascriptCopiar código<span class="hljs-keyword" data-uipath_custom_id_23_4_59_15687="549">const</span> { <span class="hljs-title class_" data-uipath_custom_id_23_4_59_15687="550">MongoClient</span> } = <span class="hljs-built_in" data-uipath_custom_id_23_4_59_15687="551">require</span>(<span class="hljs-string" data-uipath_custom_id_23_4_59_15687="552">'mongodb'</span>);
<span class="hljs-keyword" data-uipath_custom_id_23_4_59_15687="553">const</span> uri = <span class="hljs-string" data-uipath_custom_id_23_4_59_15687="554">"sua-url-do-banco"</span>;
<span class="hljs-keyword" data-uipath_custom_id_23_4_59_15687="555">const</span> client = <span class="hljs-keyword" data-uipath_custom_id_23_4_59_15687="556">new</span> <span class="hljs-title class_" data-uipath_custom_id_23_4_59_15687="557">MongoClient</span>(uri);

<span class="hljs-keyword" data-uipath_custom_id_23_4_59_15687="558">async</span> <span class="hljs-keyword" data-uipath_custom_id_23_4_59_15687="559">function</span> <span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="560">conectar</span>(<span class="hljs-params" data-uipath_custom_id_23_4_59_15687="561"></span>) {
  <span class="hljs-keyword" data-uipath_custom_id_23_4_59_15687="562">try</span> {
    <span class="hljs-keyword" data-uipath_custom_id_23_4_59_15687="563">await</span> client.<span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="564">connect</span>();
    <span class="hljs-variable language_" data-uipath_custom_id_23_4_59_15687="565">console</span>.<span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="566">log</span>(<span class="hljs-string" data-uipath_custom_id_23_4_59_15687="567">"Conexão bem-sucedida!"</span>);
  } <span class="hljs-keyword" data-uipath_custom_id_23_4_59_15687="568">catch</span> (err) {
    <span class="hljs-variable language_" data-uipath_custom_id_23_4_59_15687="569">console</span>.<span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="570">error</span>(<span class="hljs-string" data-uipath_custom_id_23_4_59_15687="571">"Erro ao conectar:"</span>, err);
  }
}

<span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="572">conectar</span>();

Criando um Servidor HTTP com Node.js

Uma das funcionalidades mais comuns no tutorial de Nodejs é criar um servidor HTTP. Para isso, você pode usar o módulo embutido http:

javascriptCopiar código<span class="hljs-keyword" data-uipath_custom_id_23_4_59_15687="589">const</span> http = <span class="hljs-built_in" data-uipath_custom_id_23_4_59_15687="590">require</span>(<span class="hljs-string" data-uipath_custom_id_23_4_59_15687="591">'http'</span>);

<span class="hljs-keyword" data-uipath_custom_id_23_4_59_15687="592">const</span> server = http.<span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="593">createServer</span>(<span class="hljs-function" data-uipath_custom_id_23_4_59_15687="594">(<span class="hljs-params" data-uipath_custom_id_23_4_59_15687="595">req, res</span>) =&gt;</span> {
  res.<span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="596">writeHead</span>(<span class="hljs-number" data-uipath_custom_id_23_4_59_15687="597">200</span>, { <span class="hljs-string" data-uipath_custom_id_23_4_59_15687="598">'Content-Type'</span>: <span class="hljs-string" data-uipath_custom_id_23_4_59_15687="599">'text/plain'</span> });
  res.<span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="600">end</span>(<span class="hljs-string" data-uipath_custom_id_23_4_59_15687="601">'Servidor Node.js em execução!'</span>);
});

server.<span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="602">listen</span>(<span class="hljs-number" data-uipath_custom_id_23_4_59_15687="603">3000</span>, <span class="hljs-function" data-uipath_custom_id_23_4_59_15687="604">() =&gt;</span> {
  <span class="hljs-variable language_" data-uipath_custom_id_23_4_59_15687="605">console</span>.<span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="606">log</span>(<span class="hljs-string" data-uipath_custom_id_23_4_59_15687="607">'Servidor rodando na porta 3000'</span>);
});

Acesse http://localhost:3000 no navegador para ver o servidor funcionando.


Lidando com Erros no Node.js

Primordialmente, tratar erros é uma habilidade essencial. Você pode usar o bloco try...catch para capturar erros:

javascriptCopiar código<span class="hljs-keyword" data-uipath_custom_id_23_4_59_15687="625">try</span> {
  <span class="hljs-comment" data-uipath_custom_id_23_4_59_15687="626">// Código que pode gerar erro</span>
} <span class="hljs-keyword" data-uipath_custom_id_23_4_59_15687="627">catch</span> (err) {
  <span class="hljs-variable language_" data-uipath_custom_id_23_4_59_15687="628">console</span>.<span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="629">error</span>(<span class="hljs-string" data-uipath_custom_id_23_4_59_15687="630">"Ocorreu um erro:"</span>, err);
}

Além disso, ferramentas como Winston podem ajudar a registrar logs de erro.


Como Utilizar o Express.js

Express é uma das bibliotecas mais usadas com Node.js. Veja como criar uma rota simples:

javascriptCopiar código<span class="hljs-keyword" data-uipath_custom_id_23_4_59_15687="646">const</span> express = <span class="hljs-built_in" data-uipath_custom_id_23_4_59_15687="647">require</span>(<span class="hljs-string" data-uipath_custom_id_23_4_59_15687="648">'express'</span>);
<span class="hljs-keyword" data-uipath_custom_id_23_4_59_15687="649">const</span> app = <span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="650">express</span>();

app.<span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="651">get</span>(<span class="hljs-string" data-uipath_custom_id_23_4_59_15687="652">'/'</span>, <span class="hljs-function" data-uipath_custom_id_23_4_59_15687="653">(<span class="hljs-params" data-uipath_custom_id_23_4_59_15687="654">req, res</span>) =&gt;</span> {
  res.<span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="655">send</span>(<span class="hljs-string" data-uipath_custom_id_23_4_59_15687="656">'Bem-vindo ao Express!'</span>);
});

app.<span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="657">listen</span>(<span class="hljs-number" data-uipath_custom_id_23_4_59_15687="658">3000</span>, <span class="hljs-function" data-uipath_custom_id_23_4_59_15687="659">() =&gt;</span> {
  <span class="hljs-variable language_" data-uipath_custom_id_23_4_59_15687="660">console</span>.<span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="661">log</span>(<span class="hljs-string" data-uipath_custom_id_23_4_59_15687="662">'Servidor Express rodando na porta 3000'</span>);
});

Implementando WebSockets no Node.js

Para aplicações em tempo real, como chats, você pode usar WebSockets com a biblioteca ws:

bashCopiar códigonpm install ws

E configure no seu projeto:

javascriptCopiar código<span class="hljs-keyword" data-uipath_custom_id_23_4_59_15687="690">const</span> <span class="hljs-title class_" data-uipath_custom_id_23_4_59_15687="691">WebSocket</span> = <span class="hljs-built_in" data-uipath_custom_id_23_4_59_15687="692">require</span>(<span class="hljs-string" data-uipath_custom_id_23_4_59_15687="693">'ws'</span>);
<span class="hljs-keyword" data-uipath_custom_id_23_4_59_15687="694">const</span> wss = <span class="hljs-keyword" data-uipath_custom_id_23_4_59_15687="695">new</span> <span class="hljs-title class_" data-uipath_custom_id_23_4_59_15687="696">WebSocket</span>.<span class="hljs-title class_" data-uipath_custom_id_23_4_59_15687="697">Server</span>({ <span class="hljs-attr" data-uipath_custom_id_23_4_59_15687="698">port</span>: <span class="hljs-number" data-uipath_custom_id_23_4_59_15687="699">8080</span> });

wss.<span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="700">on</span>(<span class="hljs-string" data-uipath_custom_id_23_4_59_15687="701">'connection'</span>, <span class="hljs-function" data-uipath_custom_id_23_4_59_15687="702"><span class="hljs-params" data-uipath_custom_id_23_4_59_15687="703">ws</span> =&gt;</span> {
  ws.<span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="704">on</span>(<span class="hljs-string" data-uipath_custom_id_23_4_59_15687="705">'message'</span>, <span class="hljs-function" data-uipath_custom_id_23_4_59_15687="706"><span class="hljs-params" data-uipath_custom_id_23_4_59_15687="707">message</span> =&gt;</span> {
    <span class="hljs-variable language_" data-uipath_custom_id_23_4_59_15687="708">console</span>.<span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="709">log</span>(<span class="hljs-string" data-uipath_custom_id_23_4_59_15687="710">`Mensagem recebida: <span class="hljs-subst" data-uipath_custom_id_23_4_59_15687="711">${message}</span>`</span>);
  });
  ws.<span class="hljs-title function_" data-uipath_custom_id_23_4_59_15687="712">send</span>(<span class="hljs-string" data-uipath_custom_id_23_4_59_15687="713">'Conexão estabelecida!'</span>);
});

Minhas Impressões Pessoais

Pessoalmente, considero o Nodejs uma ferramenta revolucionária para desenvolvedores. A principal funcionalidade que se destaca é sua capacidade de criar aplicações escaláveis e em tempo real, como chats e streaming. Além disso, o ecossistema do NPM é um diferencial, permitindo integrar milhares de pacotes com facilidade. Se você procura eficiência e flexibilidade, o Node.js é a escolha ideal. É intuitivo, poderoso e se adapta a diversos projetos.


Conclusão

Portanto, o tutorial de Nodejs que exploramos mostra como essa tecnologia é versátil e indispensável para projetos modernos. Afinal, desde a instalação até a criação de servidores e APIs, o Node.js oferece soluções robustas e fáceis de usar. Dessa forma, siga este guia e comece hoje mesmo a aproveitar todo o potencial do Node.js em suas aplicações.

Tutorial de Nodejs: Aprenda de Forma Simples

Perguntas Frequentes (FAQ)

O que é Node.js?

Node.js é um ambiente de execução JavaScript no lado do servidor, permitindo rodar JavaScript fora do navegador e criando aplicações para o backend.

Por que devo usar Node.js?

Node.js é rápido, leve, e perfeito para aplicações em tempo real, como chats e jogos online. Ele também é escalável, o que o torna ideal para projetos grandes.

Como instalar o Node.js no meu computador?

Basta acessar o site oficial, baixar a versão recomendada para o seu sistema, e seguir as instruções do instalador. Depois, use o comando “node -v” no terminal para verificar se a instalação foi bem-sucedida.

Prof. Eduardo H Gomes
Prof. Eduardo H Gomes

Mestre em Engenharia da Informação, Especialista em Engenharia da Computação, Cientista da Computação, Professor de Inteligência Artificial, 18 anos de docência no Ensino Superior. Apaixonado por Surf, Paraglider, Mergulho livre, Tecnologia, SEO, Banco de Dados e Desenvolvimento Web.