Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.7K
Visualizações
SiguienteError de implementación de JS Vercel No se permite el middleware anidado, encontrado: páginas/_middleware

De repente, mi middleware dejó de funcionar en la implementación. el error es:

 > Build error occurred NestedMiddlewareError: Nested Middleware is not allowed, found: pages/_middleware Please move your code to a single file at /middleware instead.

La declaración de Vercel es: Por ejemplo, un Middleware en pages/about/_middleware.ts puede mover la lógica a /middleware.ts en la raíz de su repositorio. Luego, se puede usar una declaración condicional para ejecutar el Middleware solo cuando coincida con la ruta about/*:

Cuando ejecuto mi compilación local con pages/_middleware.ts, finaliza sin errores como lo hizo hasta hoy en producción. Si lo cambio a pages/middleware.ts localmente, falla con:

 ./pages/middleware.ts 2:1 Error: next/server should not be imported outside of pages/_middleware.js. See: https://nextjs.org/docs/messages/no-server-import-in-page @next/next/no-server-import-in-page

Archivo de software intermedio:

 import { getToken } from "next-auth/jwt"; import { NextRequest, NextResponse } from "next/server"; export async function middleware(req: NextRequest, res: NextResponse) { if (req.nextUrl.pathname === "/") { const session = await getToken({ req, secret: process.env.JWT_SECRET, secureCookie: process.env.NODE_ENV === "production", }); // You could also check for any property on the session object, // like role === "admin" or name === "John Doe", etc. if (!session) { const url = req.nextUrl.clone(); url.pathname = "/login"; return NextResponse.redirect(url); } // If user is authenticated, continue. } }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Tenía el mismo problema. Descubrí que Next acaba de lanzar v12.2.0, que estabiliza la API de middleware con algunos cambios importantes. Consulte la guía de migración aquí https://nextjs.org/docs/messages/middleware-upgrade-guide

Solo tuve que mover y cambiar el nombre de mi archivo de Middleware de /pages/_middleware.js a /middleware.js

Además, tuve que migrar la funcionalidad al nuevo URLPattern (explicado también en la guía de migración)

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda