DEV Community

Gabriel_Silvestre
Gabriel_Silvestre

Posted on • Edited on

Introdução ao Node.js

Tabela de Conteúdos


Node

O que é?

É um interpretador JavaScript baseado na engine V8 do Google Chrome. Diferente da engine do Chrome, o Node não vem com métodos para manipulação do DOM e ao invés disso possui métodos que permitem acessar o sistema e a rede mais diretamente, afinal ele foi feito para rodar fora do navegador.

O que faz?

Permite a utilização de JS em outros ambientes fora do navegador, o que é um grande avanço, afinal durante um bom tempo o JS rodava somente nos navegadores.

Voltar ao topo


Módulos

O que são?

São pacotes de códigos que podem ser organizados em um ou mais arquivos e que possuem escopo próprio.

O que fazem?

Os módulos permitem o compartilhamento de código dentro da aplicação, esse código em questão pode ser nativo do Node, criado por nós ou até mesmo de terceiros.

Tipos

Existem três tipos de módulos no Node: internos, locais e de terceiros

Internos

Módulos internos são aqueles nativos do Node, ou seja, assim que o baixamos temos esses módulos disponíveis. Alguns deles são: fs, url, querystring, util e os.

Locais

Módulos locais são criados por nós durante o desenvolvimento de um projeto, dessa forma podemos reutilizar o código em diversos arquivos diferentes, bem como reutilizar em outro projeto.

Terceiros

Módulos de terceiros são pacotes criados e publicados pela comunidade e por via de regra são disponibilizados no site oficial de pacotes do Node, o NPM.

Voltar ao topo


Usando Módulos

Exportando

Como dito em sua definição, módulos são pacotes de código com escopo próprio, logo para podermos utilizar a lógica desenvolvida dentro desses pacotes precisamos exportá-los.

Sintaxe

Para exportarmos um pacote utilizamos uma sintaxe muito simples, chamamos o método global module.exports e atribuímos a ele o valor a ser exportado. Frisando que, caso desejemos exportar mais de um valor, precisamos utilizar alguma estrutura de dados como Objetos ou Arrays.

module.exports = 10;
Enter fullscreen mode Exit fullscreen mode
module.exports = {
    brl: 5.37,
    usdToBrl: (usdValue) => usdValue * 5.37,
};
Enter fullscreen mode Exit fullscreen mode

Importando

Agora que exportamos valores de seus arquivos, precisamos importá-los para que possamos utilizá-los. Lembrando que podemos importar não somente módulos criados e exportados por nós, como também módulos nativos e de terceiros.

Sintaxe

A sintaxe de importação é tão simples quanto a de exportação, precisamos somente chamar a função global require(), passando o path relativo até o módulo que desejamos, isso caso esse módulo tenha sido criado e exportado por nós. Agora se o módulo for nativo ou de terceiros, tudo que precisamos fazer é passar o nome do módulo no lugar do path.

const myModule = require('./myModule.js');
Enter fullscreen mode Exit fullscreen mode
const fs = require('fs');  // módulo nativo
Enter fullscreen mode Exit fullscreen mode

Voltar ao topo


NPM

O que é?

É a sigla para Node Package Manager, o repositório oficial para a publicação de pacotes Node. Além disso, também existe a ferramenta CLI do npm, com ela podemos gerenciar os pacotes de nossa aplicação e suas dependências.

O que faz?

O NPM é o repositório oficial para a publicação de pacotes Node, logo ele funciona como um grande "armazém" para os pacotes, os disponibilizando para outras pessoas desenvolvedoras.

Já a ferramenta CLI do NPM auxilia no gerenciamento dos pacotes, sejam eles próprios ou de terceiros, dessa forma realizar a instalação e desinstalação, por exemplo, fica muito simples.

Comandos

Utilizamos a CLI do NPM através de comandos, existem diversos comandos que podemos utilizar, porém os principais são:

npm init

Inicia um pacote Node na pasta onde o comando foi executado, gerando um arquivo package.json com as informações do pacote.

npm run

Executa um script previamente definido no arquivo package.json.

npm start

Executa o script específico de start, normalmente vinculado a inicialização do projeto.

npm install

Instala as dependências especificadas previamente no arquivo package.json, ou alguma dependência definida por nós através da linha de comando.

Voltar ao topo


Links Úteis

Voltar ao topo

Top comments (2)

Collapse
 
urielsouza29 profile image
Uriel dos Santos Souza

Opa! Muito bom!
Coloca a tag #braziliandevs para quem fala português achar mais fácil seu conteúdo!
Abraços

Collapse
 
gabrielhsilvestre profile image
Gabriel_Silvestre

Muito obrigado pelo feedback!
Não conhecia a tag, vou começar a usar a partir de agora.