Primeiros passos com Node.JS - o que é, como instalar e recomendações
Published: 2021-05-30 22:55:20

Olá pessoal! Esta é a minha primeira publicação e inicializarei meus estudos sobre o Node.JS. Posteriormente, teremos artigos sobre o Javascript, Typescript e React 😉

#Primeiros Passos 

Utilizarei a IDE Visual Studio Code, bastante difundida e utilizada no meio DEV. Para instalação, basta vir ao site e instalar como recomendado. 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/si7xm46lqqfv3t0gzp1m.png)

## O que é o Node.JS?
Algumas pessoas confundem e acreditam que o Node.JS é um framework Javascript. Na realidade ele é um **interpretador** responsável por entender um código e executá-los, o que oferece um ganho de desempenho absurdo. O **Node.JS** é um interpretador que entende e executa o Javascript fora de navegadores. O Node possibilita a criação de aplicações Javascript standalone (não precisa de um browser para executar).

## Por que usar o Node.JS? 
- Muito leve 
- Muito rápido 
- Usa Javascript
- Tem um dos maiores ecossistemas do mundo (muitas bibliotecas disponíveis) 
- Está sendo utilizado fortemente no mercado

## Instalação
Para a instalação do node, basta irmos até o site e realizar a instalação recomendada pela maioria dos usuários, a LTS (versão estável e com suporte). 
 
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8u2q0m78a5bblm24070z.png)

## O que é NPM? 
O npm é o Gerenciador de Pacotes do Node (Node Package Manager) que vem junto com ele e é bastante útil no desenvolvimento Node. 
O npm funciona baseado em dois ofícios: 

1. Ele é um repositório amplamente usado para a publicação de projetos Node.JS de código aberto (open-source). Isso significa que ele é uma plataforma online onde qualquer pessoa pode publicar e compartilhar ferramentas escritas em Javascript.
2. Ele é um repositório amplamente usado para a publicação de projetos Node.JS de código aberto (open-source). Isso significa que ele é uma plataforma online onde qualquer pessoa pode publicar e compartilhar ferramentas escritas em Javascript.

### Como instalar módulos npm e inicializar projetos 
Primeiro é necessário garantir que o node.js e o npm estejam instalados. Para isso, em seu terminal, execute: 

    node --version
    npm --version

E caso você queira buscar atualizações do npm, basta digitar no prompt 
    npm update -g npm 

### Começando um projeto com npm 
Primeiro é necessário garantir que o node.js e o npm estejam instalados. Para isso, em seu terminal, execute: 

    npm init

Este comando funciona como uma ferramenta para criar o arquivo package.json de um projeto. 

O **package.json** é um arquivo de configuração utilizado para estipular e configurar dependências do seu projeto (quais outros pacotes ele vai precisar para ser executado) e scripts automatizados. 

Após digitar no prompt o 'npm init' ele irá solicitar algumas informações sobre o projeto. Como exemplo, segue abaixo do projeto 'learnnode'

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7wgl5joxxvhpjcl4ckf0.png)

### Instalar módulos npm 
Um pacote em node.js contém todos os arquivos que você precisa para um módulo. Os módulos são bibliotecas JavaScript que você pode incluir no seu projeto. 

Segue um comando para instalar um módulo no diretório atual:

    npm install <module>
    OU
    npm i <module>

Substitua <module> pelo nome do módulo que você quer instalar. Por exemplo, caso queira instalar o módulo Express (um framework web node.js bastante conhecido) você pode executar o seguinte comando: 

    npm install express

## Dicas de estudos futuros 
Aprender um pouco mais sobre o **Postman**! Ele é uma ferramenta que dá suporte à documentação das requisições feitas pela API. Ele possui ambiente para documentação, execução de testes de API e requisições em geral. 

Ao utilizá-lo, você passará a trabalhar com APIs de modo mais eficiente, construindo solicitações rapidamente e, ainda, poderá guardá-las para uso posterior, além de conseguir analisar as respostas enviadas pela API.