Vamos falar sobre roteamento no Nextjs. Hoje falaremos sobre um dos middlewares mais poderosos. Middleware em Nextjs oferece uma maneira poderosa e flexível de interceptar solicitações do servidor e controlar o fluxo de solicitações (redirecionamentos, reescrita de URL) e aprimorar globalmente recursos como autenticação, cabeçalhos e persistência de cookies.
Criando MiddlewareRedirecionando
import { NextResponse } from 'next/server'; import type { NextRequest } from 'next/server'; export function middleware(request: NextRequest) { return NextResponse.redirect(request.url.replace('/profile', '/')); } export const config = { matcher: '/profile', };Neste exemplo, a função de middleware verifica se o caminho da URL da solicitação é /profile e redireciona o usuário para a página inicial.
Para a abordagem de declaração condicional, podemos modificar o código da seguinte forma:
import { NextResponse } from 'next/server'; import type { NextRequest } from 'next/server'; export function middleware(request: NextRequest) { return NextResponse.redirect(request.url.replace('/profile', '/')); } export const config = { matcher: '/profile', };Nesse caso, o middleware verifica o caminho da URL da solicitação e redireciona o usuário para a rota /hello se o caminho for /profile.
Middleware em Next.js vai além de apenas lidar com redirecionamentos. Ele também permite reescrita de URL, o que pode ser útil para suporte de URL herdado ou otimização de SEO. Ao alterar o redirecionamento para reescrever nos exemplos anteriores, a URL no navegador permanecerá a mesma (/profile), mas o conteúdo da resposta mudará para o conteúdo da rota /hello.
Usando Cookies
import { NextResponse } from 'next/server'; import type { NextRequest } from 'next/server'; export function middleware(request: NextRequest) { return NextResponse.redirect(request.url.replace('/profile', '/')); } export const config = { matcher: '/profile', };Neste exemplo, primeiro verificamos se o usuário possui uma preferência de tema armazenada em um cookie. Caso contrário, definimos o tema como ‘escuro’ adicionando um cookie. Em seguida, adicionamos um cabeçalho personalizado à resposta, que pode ser útil para passar informações adicionais ou para fins de depuração.
Como você pode ver, o middleware em Next.js é uma ferramenta poderosa que permite controlar e interceptar efetivamente o ciclo de solicitação-resposta, permitindo redirecionamentos, reescritas de URL e a manipulação de cabeçalhos e cookies. Ao dominar o middleware, você pode aprimorar a experiência de roteamento em seus aplicativos Next.js e criar experiências de usuário mais robustas e personalizáveis.
"Middleware em Next.js é um recurso poderoso que oferece uma maneira robusta de interceptar e controlar o fluxo de solicitações e respostas em seus aplicativos." - Documentação Next.jsConclusão
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3