Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Livro completo de Node, Manuais, Projetos, Pesquisas de Programação Javascript

Node.js é um software de código aberto, multiplataforma, que executa códigos JavaScript no backend/servidor e frontend/interface

Tipologia: Manuais, Projetos, Pesquisas

2021

Compartilhado em 20/04/2021

growth-dev
growth-dev 🇧🇷

1 documento

1 / 49

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
API REST COMPLETA EM
NODE JS 6.10.3
Construa sua API completa passo a passo de
um jeito que você nunca viu em Node JS
Walmir Silva<walmir.design@gmail.com>
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31

Pré-visualização parcial do texto

Baixe Livro completo de Node e outras Manuais, Projetos, Pesquisas em PDF para Programação Javascript, somente na Docsity!

API REST COMPLETA EM

NODE JS 6.10.

Construa sua API completa passo a passo de

um jeito que você nunca viu em Node JS

Walmir Silvawalmir.design@gmail.com

interações com o DOM no front-end , eventos como onClick , onHide , onShow etc... Só ressaltando que esses eventos são utilizados no cliente e o Event Loop no servidor.

Já que o Node.js vai trabalhar em um loop de eventos , ele utiliza o modelo Non-Blocking IO (não-bloqueante). Ou seja, nenhuma das tarefas “pesadas” de IO vai travar sua aplicação, pois elas serão executadas em background sem bloquear a aplicação e quando elas finalizarem você trata os resultados através dos callbacks das funções.

O V8 é uma engine criada pelo Google para ser usada no browser Chrome. Em 2008 o Google tornou o V8 open source e passou a chamá-lo de Chromium project.

I/O é um termo utilizado para designar os sistemas que fazem uso intensivo de entrada / saída ( I n/ O ut).

Instalando o Node.js

Inicialmente o Node.js foi construído com o objetivo de ser um interpretador de código JavaScript que funciona do lado do servidor, porém hoje ele é utilizado por diversas ferramentas JavaScript , sendo a mais conhecida delas o NPM ( N ode P ackage M anager em português Gerenciador de Pacotes Node ). Esse gerenciador trabalha com um

repositório online que serve para publicar projetos de código aberto e disponibilizá-los para o Node.js. Ele é um utilitário de linha de comando que interage com este repositório online, para ajudar na instalação de pacotes, gerenciamento de versão e gerenciamento de dependências. Quando você fizer a instalação de uma versão recente do Node.js , ele é instalado junto. Vamos lá! Para instalar o Node.js , acesse o seguinte link e siga suas instruções:

https://nodejs.org/en/download/

Para testar se a instalação surtiu efeito, execute o seguinte comando no prompt de comando :

node -v && npm -v

npm install nome_do_módulo --save

Ao utilizar a partícula “ --save ”, você instala o módulo e adiciona-o na lista de dependências do arquico package.json , dentro do atributo " dependencies ";

npm install nome_do_módulo --save-dev

Este comando é similar ao anterior, a diferença é que ele salva a referência do módulo instalado dentro do atributo " devDependencies " ;

npm install nome_do_módulo --g

Ao utilizar a partícula “ --g ”, você instala em módulo global.

npm list

Este comando lista todos os módulos existentes no projeto. Pode ser combinado com o “ --g ” para listar os módulos globais ( npm list --g )

npm remove nome_do_módulo

Serve para desinstalar um determinado módulo do projeto.

npm update nome_do_módulo

Este comando atualiza a versão do módulo.

O NPM tem outros comandos que você pode utilizar, por exemplo para criar um usuário no site oficial ( npm adduser ), assim como também publicar módulos ( npm publish ). Não precisa decorar todos os comandos agora, se você esquecer de algum, basta executar o comando npm help

Para que serve o arquivo package.json?

Para melhor compreendermos o que é este arquivo, pense no arquivo package.json como o responsável por descrever o seu projeto, informar as engines (versão do node e do npm), url do repositório, versão do projeto, dependências de produção e de desenvolvimento dentre outras coisas. Este arquivo é essencial para um projeto Node.js. Um package.json mal escrito pode causar bugs ou até impedir o funcionamento do seu projeto.

No package.json , os arquivos que são instalados são chamados de módulos. Todos os pacotes carregáveis do JavaScript que fornecem funcionalidade específica para seu aplicativo é um módulo.

Por enquanto está um pouco “nebuloso”, mas no próximo artigo vamos ver na pratica como isso tudo funciona. Não se preocupe com isso agora, tudo bem?

Primeiro script no Node.js

Nesse primeiro exemplo, você vai entender como o Node.js funciona. Basicamente você vai colocar suas instruções Javascript em um arquivo com extensão “.js” e informar ao Node.js via prompt de comando para ele interpretar e executar suas instruções. Vamos lá! Crie uma pasta dentro do seu ambiente de desenvolvimento com o nome “ project-nodejs ”. Como é apenas para exemplificar, coloquei no mesmo ambiente do projeto de como construir uma api em Laravel que eu publiquei aqui no site (https://www.likesys.com.br/api-rest-laravel)

Quais tarefas o terminal node Node REPL executa?

Read – Ler o input do utilizador e fazer a análise da informação ● Eval – Avalia a estrutura do código ● Print – imprime o resultado ● Loop – faz um loop do comando até que o utilizador pressione CTRL + C duas vezes

Se tiver interesse em saber mais sobre Node REPL , acesse o link https://nodejs.org/api/repl.html

Qual IDE eu vou ter que utilizar para programar em Node.js?

Como eu sempre falo, escolha a ferramenta IDE que se adeque ao seu gosto e organização de desenvolvimento. Tem várias opções de IDE’s e editores que podem ser utilizados, por exemplo:

● Visual Studio Code ● WebStorm ● nodeclipse ● Codenvy ● Atom ● NetBeans ● Cloud 9 ● sublime text 3

Eu particularmente utilizo quatro IDE’s/Editores o Netbeans, Eclipse, Sublime text e o notepad++. Por qual motivo? Pura mania minha rsrsrs cada ferramenta tem uma particularidade que eu gosto... Fiquem a vontade para escolher o que vocês quiserem!

Criando o primeiro Servidor HTTP em Node.js

Agora que você já escolheu o seu IDE/Editor , vamos dar uma moral para o nosso primeiro Script no Node.js. Fazer apenas uma linha de código e chamar no prompt de comando, não é nada animador, concorda comigo? Como já falamos que o Node.js foi arquitetado para rodar no server-side ("lado do servidor"), nada mais elegante do que mostramos como o Node.js “monta” este recurso. Para isso, abra o arquivo que acabamos de criar e coloque a seguinte instrução:

var http = require('http')

http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}) res.end('Agora sim Walmir!!!\n') }).listen(1337, '127.0.0.1')

console.log('Nosso Primeiro Servidor rodando em http://127.0.0.1:1337/')

Em seguida, rode o seguinte comando no prompt: node main.js

Agora acesse o browser nesta rota (IP+porta) e veja o que acontece:

});

server.listen(port, hostname , () => { console.log(Nosso Primeiro Servidor rodando em ${hostname}:${port}); console.log('Para desligar o servidor, pressione : CTRL + c'); });

E agora Walmir? Não sei nada de ES6! Calma que eu vou explicar o essencial de ES6 aqui também.

Ao longo desta série de artigos, vamos construir uma API REST em Node.js completa do zero. Mas primeiro vamos nos aprofundar um pouco no ES.

Note que neste trecho utilizamos o sinal de crase (`) para exibir a string com os dados das variáveis hostname e port. Nas demais strings utilizamos as aspas simples normalmente (‘):

console.log(Nosso Primeiro Servidor rodando em ${hostname}:${port});

Primeiro, o que é ECMAScript?

Para responder a esta pergunta, vamos voltar um pouquinho no tempo... Quem criou o JavaScript foi a Netscape para utilizar nos navegadores Netscape. Entretanto, essa empresa trabalhou junto com a Ecma Internationala Associação Europeia para padronização de informação e comunicação de sistemas — para disponibilizar uma linguagem internacional padronizada baseada no núcleo do JavaScript. A sua padronização se deu na especificação ECMA-262. Foi base para a criação do JavaScript / JScript e também do ActionScript.

O documento ECMAScript não serve para ensinar a programar scripts, é utilizado como documentação, como uma referência sobre a linguagem JavaScript. Como exemplo os aspectos da linguagem que são apropriados ao programador.

O ECMAScript sofreu várias implementações de melhorias ao logo dos anos. Tivemos várias versões do javascript. Hoje estamos na versão ECMAScript de 2015 ( ES6 ).

Quer saber mais? Vamos resumir um pouco a sua origem:

● Em novembro de 1995 a Sun Microsystems e a Netscape Communicaons Corporaon criaram o JavaScript. ● Em março de 1996 a Netscape lançaram o Navegador Netscape 2.0, com suporte à JavaScript. ● Depois a Microso desenvolveu uma linguagem bastante próxima bazada de JScript , incluída mais tarde no Internet Explorer 3.0 , lançado em agosto de 1996. ● A Netscape enviou as especificações do JavaScript para padronização junto ao Ecma Internaonal; ● o trabalho na especificação, ECMA-262 , começou em novembro de 1996. ● A primeira edição do ECMA-262 foi adaptada pela ECMA General Assembly em junho de 1997.

Conigurando transpilers Babel no Node.js

Sem mais delongas, vamos fazer a instalação do Babel no Node.js através do comando:

npm install --save-dev babel-cli

Agora vamos executar o comando

npm install --save-dev babel-preset-es babel-preset-stage-

Agora sim! Vamos configurar o nosso arquivo package.json para definirmos algumas tarefas. Execute o seguinte comando:

npm init

Vai ser pedido no prompt de comando para você preencher com os dados do projeto. Não precisa definir teste, nem repositório git. Em autor coloque o seu nome e endereço. Vai ser gerado a seguinte saída no seu prompt de comando:

Se estiver tudo “ok”, vai ser gerado o arquivo package.json na pasta do projeto:

Vamos completar a instalação do Babel. Abra o arquivo em um editor de texto e modifique a chave “ scripts ” com a seguinte instrução:

"start": "babel-node main.js --presets es2015,stage-2"

{ "name": "project-nodejs", "version": "1.0.0", "description": "Projeto de uma API REST em Node.js", "main": "main.js", "dependencies": { "babel-cli": "^6.24.1", "babel-preset-stage-2": "^6.24.1", "babel-preset-es2015": "^6.24.1" }, "devDependencies": {},

O que o NPM fez? Ele pegou a instrução “ scripts.start ” e executou o comando para rodar o babel-node que acionou o nosso main.js. Abra o browser e veja se está funcionando normalmente.

Agora você já pode usar e abusar do ES6! Ainda não aprendeu sobre as novidades do ES6? Não se preocupe, no próximo artigo vou explicar um pouco. Se você já sabe sobre o assunto, vale apena dar uma revisada.

Quais as novidades da ECMAScript 6?

ES6 ou se preferir ECMAScript 6 ou ES2015 , como já foi dito é a mais nova versão do JavaScript. Como vocês já aprenderam, toda mudança de paradigma tem por finalidade resolver algum problema, essa nova versão do Javascript, resumindo tem foco em:

Deixar a linguagem melhor para construir aplicações complexas Resolver problemas antigos do JavaScript Facilidade no desenvolvimento de libraries

Para saber o que está melhor nessa versão ES6, vamos

fazer uma comparação com a anterior (ES5)?

● Default Parameters Values

Esta funcionalidade é bastante útil. No ES5 não é permitido pré-definir um valor default na variável do parâmetro de uma função. Com o ES isso é possível.

// Como era feito no ES function myFunc(x, y) { y = y || 1; // Caso seja undefined atribui 1 return x + y; } myFunc(2);

// como é feito no ES function myFunc(x, y = 1) { return x += y; } myFunc(2);