Você está na página 1de 27

Programação Web 2

Higor Alexandre Duarte Mascarenhas


Core Modules
Core Modules

 Core Modules (módulos principais) são um conjunto de módulos internos


que são fornecidos junto com a instalação padrão do Node.js. Esses
módulos oferecem funcionalidades essenciais para lidar com várias tarefas
comuns de programação.
Core Modules

 Vamos ver diversos Core Modules em detalhes, que são fundamentais para
criação de softwares em Node;
 http: módulo para criar servidores HTTP;
 path: extrair informações de paths (caminhos) de arquivos;
 fs: file system, leitura e escrita de arquivos;
 url: módulo para trabalhar com URLs;
Get e Post

 GET e POST são dois métodos HTTP usados para realizar solicitações e
enviar dados entre um cliente e um servidor.
 GET: O método GET é usado para solicitar dados de um servidor. Quando
um cliente faz uma solicitação GET, ele envia um pedido para obter
informações específicas do servidor. Os parâmetros de solicitação, como
consultas de pesquisa, são anexados à URL. O servidor processa a
solicitação e retorna os dados solicitados no corpo da resposta.
 As solicitações GET são consideradas "seguras" porque são apenas
solicitadas para recuperar dados, sem modificar o estado do servidor. Por
exemplo, ao abrir uma página da web, o navegador envia uma
solicitação GET ao servidor para obter o conteúdo da página.
Get e Post

 POST: O método POST é usado para enviar dados para o servidor.


 Diferentemente do GET, os dados enviados por meio de uma solicitação POST
não são anexados à URL, mas são incluídos no corpo da solicitação HTTP.
 Os dados enviados por meio de uma solicitação POST são geralmente usados
para enviar informações de formulário, como enviar um formulário de registro
ou enviar dados de um formulário de pesquisa.
 As solicitações POST são consideradas "não seguras" porque podem modificar
o estado do servidor.
 Por exemplo, ao enviar um formulário de registro, os dados inseridos no
formulário são enviados por meio de uma solicitação POST para o servidor, que
então processa esses dados e realiza as ações apropriadas, como criar uma
nova conta de usuário.
O módulo http

 Podemos criar um servidor HTTP com este módulo;


 Ou seja, receber uma requisição e enviar código HTML como resposta, por
exemplo;
 Vamos utilizar alguns métodos como createServer, para criação do
servidor;
 E também listen, para determinar a porta;
http (index.js)

 req-> requisição
 res-> resposta que envio para o
cliente

 Com esse código se acessarmos


a url “localhost:3000” você
acessará a página do servidor
Parando o serviço

 Há alguns serviços do Node que ocupam a aba do terminal para continuar


rodando;
 Um destes é o módulo http;
 Para parar este serviço basta utilizar: ctrl + c;
 Isso é útil quando há um problema no código também;
Retornando HTML com o http

 Para retornar HTML precisamos implementar mais recursos;


 Podemos adicionar um status code no retorno, com a propriedade
statusCode para assim demonstrar se deu tudo certo, ou não;
 Mudar os headers(cabeçalho da requisição) para text/html;
 E retornar o HTML pelo método end do http;
Retornando HTML com o http
(index.js)

 Após inserir este código acessem a url “localhost:3000”


Atualizações de projeto

 Para emitir as atualizações do projeto precisamos sempre reiniciar o


servidor;
 Ou seja: salvar, encerrar e reiniciar, este é o processo;
 O que é terrível para a produtividade!
 Nos próximos slides veremos como contornar este problema;
O módulo url

 O módulo url serve para decompor uma URL que passamos para o
método parse;
 Podemos resgatar: host, path, search, query e etc;
 A partir destas informações podemos alterar a lógica do nosso código;
O módulo url
(arquivo index.js)
Unindo os módulos http e url

 Podemos trabalhar com estes módulos juntos e ter um resultado


interessante;
 Com o http criamos nosso server e alteramos a resposta baseado na URL
acessada;
 Com url processamos os parâmetros que vem pela query string, para
alterar a lógica do http;
Arquivo (index1.js)
 req.url->é a url que estamos
acessando no localhost
 Criamos um submit simples
para permitir que o usuário
insira algum valor qualquer.
Testes

 Faça o teste passando com a url http://localhost:3000/?name=joao e


http://localhost:3000
O módulo fs

 O módulo fs (File System) serve para trabalhar com arquivos e diretórios;


 Este é também um Core Module;
 Podemos ler e escrever em arquivos, por exemplo;
 Uma utilização interessante: logs do sistema;
O módulo fs (renderiazando.js)

 readFile->lê arquivo
 res.writeHead(statuscode, type do arquivo)
 res.write-> estaremos escrevendo o arquivo
mensagem.html
Trabalhando com diretórios

 Com o módulo fs também podemos trabalhar com diretórios (pastas);


 O método exists pode evidenciar se um diretório existe ou não;
 E o método mkdir pode criar um diretório;
Trabalhando com diretórios
Voltando na aula anterior... npm

 Caso queiramos criar o projeto através do npm de maneira mais rápida,


utilizamos o comando “npm init -y”, depois você pode alterar o arquivo.
(package.json)
 Para atualizar todos os pacotes, utilizamos “npm update”
 Para atualizar um pacote em específico, utilizamos o comando “npm
update <nome>”, esse <nome> seria o nome que você deseja atualizar.
 Para remover um pacote podemos passar o comando “npm uninstall
<nome>”, esse <nome> seria o nome que você deseja desinstalar.
Voltando na aula anterior... npm

 Podemos também executar scripts no npm


 Para rodar, basta chamar no terminal “npm start”
Exemplo do método get utilizando http
Arquivo get.js)
Exercício

 A partir da url https://jsonplaceholder.typicode.com/users obtenha através


do método http.get todas as informações de cada um dos integrantes de
uma maneira formatada.
 A partir da url https://jsonplaceholder.typicode.com/albums/1/photos
obtenha através do método http.get todas as informações de cada uma
das fotos de uma maneira formatada.
Duvidas???

Você também pode gostar