Buscar

Resumo Node-Express

Prévia do material em texto

Lendo arquivos com Node.JS 
 
De forma síncrona: 
 
 
Escrevendo arquivos 
 
 
 
 
De forma síncrona: 
 
 
Por padrão, a escrita de arquivos sobre-escreve o conteúdo 
do arquivo. 
 
Esse padrão pode ser modificado passando flags 
 
 
Uma opção é usar o appendFile, ele acrescenta ao final do 
arquivo o conteúdo passado 
 
Sobre Express 
 Hello World 
 criar pasta e entrar nela 
 dar npm init -y 
 npm i express --save (se for temporário, não usar 
o save) 
 criar arquivo app.js (ou index.js ou qlqrNome.js) 
 
 
 
O aplicativo vai iniciar um servidor e escutar a porta 3000 
Vai responder com o “Hello World” (por conta do res.send) 
 Mas só responderá na rota ‘/’, por conta do app.get 
Para demais caminhos a resposta será um 404 not found 
Para executar o aplicativo node app.js e carregar o 
localhost no browser 
 
 
 
 
Sobre rotas 
 Rotear diz como a aplicação responde à demanda do 
cliente em um endpoint especifico, no qual há um URL e 
um método especifico de HTTP 
 
Cada rota tem um ou mais funções que demonstram como 
serão executadas quando a rota combinar 
 Em suma, a sintaxe é: app.METHOD(URL, função) 
 Onde: 
 app  instância do express 
 METHOD  em minúsculo, método HTTP 
 URL  caminho do servidor 
 função  a função a ser executada quando 
a rota combinar 
 
 
Há um roteamento especial não-HTTP app.all() 
 Serve para passar funções middleware em um 
caminho para todos os métodos de solicitação 
 
 
Manipulação de rota 
 É possível criar funções de retorno de chamada que 
se comportam como middleware, inclusive podendo 
chamar next() 
 É possível usar o next como pré-condição de rota 
 
Manipulação com uma única função de retorno 
 
Manipulação com uma função de retorno 
 
Manipulação com Array de funções 
 
 
Além de um res.send, pode haver outros métodos de 
resposta 
 
 
 
app.route() 
 É possível encadear diversos métodos de rota 
 
 
express.Router 
 Usar uma classe express.Router permite criar 
manipuladores de rota modulares e montáveis. 
 A instância Router é uma espécie de Middleware e 
sistema de roteamento completo 
 
 
O exemplo cria um roteador como módulo, com uma 
função de middleware (função intermediária) nele, 
definindo algumas rotas e montando um módulo completo 
de router 
 
O arquivo acima é criado como arquivo à parte 
(ex.: birds.js) 
 
Para usar esse router no aplicativo, basta fazer 
 
Assim, habilita manipular solicitações às rotas /birds e 
/birds/about, bem como usar a função timeLog 
 
Sobre Middlewares 
 São funções com acesso ao objeto de 
solicitação/demanda/req, ao objeto de 
resposta/response/res e ao próximo middleware ( next() ) 
 Podem executar as seguintes tarefas: 
 Executar qualquer código; 
 Fazer mudanças nos objetos de solicitação e 
resposta 
 Encerrar o ciclo solicitação-resposta 
 Chamar o próximo middleware na pilha 
 
Chamar o próximo, apenas não for a última função do ciclo 
 
 
 
Para usar a função de middleware para as rotas abaixo da 
função, deve-se fazer um app.use(nomeFuncao) 
 
 
A ordem de carregamento/uso é importante 
 
Se o app.use fosse passado após o app.get nunca chegaria 
à função myLogger e, assim, nunca sairia no console o 
‘LOGGED’, pois o res.send() é um “encerrador” de ciclos

Continue navegando