English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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 resposta(Solicitaçã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.
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 }
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)
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-/。',