English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico do NodeJS

Express.js do NodeJS

Buffer & URL do NodeJS

MySql do NodeJS

MongoDB do NodeJS

Arquivo (FS) do NodeJS

Outros NodeJS

Middleware Express.js

Middleware do Express.js

O que é middleware?

Middleware é uma função que pode acessar os objetos de solicitação e resposta e também usar next no aplicativo de solicitação-Usando essa função no ciclo de resposta.

Neste tutorial, vamos aprender como definir funções de middleware em aplicativos Express de Node.js e como chamar funções de middleware.

Termo de middleware

Solicitação – É a solicitação HTTP que chega ao aplicativo Express quando o cliente emite uma solicitação HTTP (por exemplo, PUT, GET, etc.) e contém atributos como a string de consulta, os parâmetros da URL, os cabeçalhos, etc.

Resposta– O objeto representa a resposta HTTP enviada pelo aplicativo Express ao receber uma solicitação HTTP.

next – next é usado para continuar para o próximo middleware na pilha de middleware.

Solicitação-Ciclo de respostaSolicitação-Ciclo de resposta) – A operação do ciclo de execução começa desde que a solicitação entra no aplicativo Express até que a resposta saia do aplicativo para a solicitação.

Pilha de middleware– Na solicitação-Pilha de funções de middleware executadas durante o ciclo de resposta.

Defina a função de middleware

Como já mencionamos na definição da função de middleware, ela pode acessar a solicitação, o objeto de resposta e a próxima função.

A sintaxe é a mesma que a de função JavaScript. Ela aceita a solicitação, o objeto de resposta e a próxima função como parâmetros.

 
 function logger(req, res, next) { 
    
 }

 Aqui logger é o nome da função, req é o objeto de solicitação HTTP, res é o objeto de resposta do nó e next é a solicitação.-Próxima função no ciclo de resposta

Você pode acessar todas as propriedades e métodos do objeto de solicitação req.

Da mesma forma, você pode acessar todas as propriedades e métodos do objeto de resposta res.

A chamada de função dentro da função middleware next() é opcional. Se você usar a instrução next(), então na solicitação-Continue executando o próximo middleware no ciclo de resposta. Se você não chamar a função next(), a execução da solicitação será interrompida aqui.

function logger(req, res, next) { 
    // Seu Código
    next() // Chame a próxima função na pilha de middleware
 }

Chamada do Middleware

No Express, você pode usar a função use do objeto do aplicativo para chamar o middleware.

var express = require('express') 
var app = express() 
 
function logger(req, res, next) { 
   // Seu Código
   next() 
 } 
 
app.use(logger)

Exemplo de Middleware do Express.js

Neste exemplo, definiremos um middleware chamado logger, que registrará a hora atual e a string de consulta no console.

app.js

var express = require('express') 
var app = express() 
 
// Defina a função de middleware
function logger(req, res, next) { 
   console.log(new Date(), req.url) 
   next() 
 } 
 
// em cada solicitação-Chame o middleware logger durante o ciclo de resposta
app.use(logger) 
 
// para o caminho “ /”Executar o roteamento
app.get('/', function(req, res) { 
   res.send('Este é um exemplo básico do Express.js por w3codebox') 
 ) 
 
// Inicie o servidor
var server = app.listen(8000, function() { 
    console.log('Escutando na porta 8000...') 
 )

Inicie este aplicativo, clique na seguinte URL no navegador.

  • http://localhost:8000/

  • http://localhost:8000/hello-/

A saída será

Para ouvir8000//localhost:8000/A URL é/ Portanto, a saída do logger é a hora atual e'/Também é assim para a url'/hello-/。',