es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Las rutas de API de NextJS faltan en las salidas de compilación de Vercel cuando la carpeta contiene index.js/ts.

Estoy usando NextJS / rutas_API y desplegando en Vercel.

Parece que donde sea que tenga un archivo index.ts ubicado dentro de la estructura de carpeta /api, Vercel reemplazará el contenido de su carpeta contenedora (incluyendo /api en sí) con un solo archivo. Todos los archivos de ruta hermanos serán ignorados.

Curiosamente, la carpeta que contiene el archivo de índice permanecerá, pero sin contenido.

Por ejemplo:

/api/index.ts
/api/mock1/index.ts
/api/mock1/mock1-endpoint.ts
/api/mock2/index.ts
/api/mock2/mock2-endpoint.ts

Esto producirá una salida de:

/api // carpeta vacía
λ api
  • Nota: tendrá que implementar este código para ver la salida en el panel de control de Vercel

Código reproducible: https://github.com/angusryer/missing-lambdas-vercel-nextjs

Ejemplo desplegado: https://missing-lambdas-vercel-nextjs.vercel.app/

Las rutas api son visibles como se ve en la pestaña “fuente” del despliegue de producción:

https://i.stack.imgur.com/aXLYb.png

Pero no están disponibles en la pestaña “salida”:

View post on imgur.com

¿Alguien sabe por qué sucede esto y formas de solucionarlo?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Rutas de API de NextJS y implementación en Vercel

    Si estás utilizando las rutas de API de NextJS y desplegando en Vercel, puedes experimentar un problema en el que el contenido de la carpeta /api (incluyendo la carpeta en sí misma) es reemplazado por un solo archivo siempre que tienes un archivo index.ts ubicado dentro de la carpeta /api.

    Esto significa que todos los archivos de ruta hermanos serán ignorados, y solo se reconocerá el archivo de índice por Vercel. Sin embargo, la carpeta que contiene el archivo de índice permanecerá vacía.

    Para solucionar este problema, puedes intentar cambiar el nombre del archivo index.ts a algo diferente, o moverlo a una ubicación diferente fuera de la carpeta /api. Esto debería permitir a Vercel reconocer correctamente todos tus archivos de ruta de API.

    También puedes verificar la pestaña “source” en el panel de Vercel para asegurarte de que todos tus archivos de ruta de API están disponibles. Si no están visibles en la pestaña “output”, puede que haya un problema con tu implementación que necesitas resolver.

    En general, las rutas de API de NextJS y la implementación en Vercel pueden ser una combinación poderosa para construir aplicaciones web sin servidor. Sin embargo, es importante ser consciente de cualquier problema potencial como el descrito anteriormente, y tomar medidas para asegurar que tus archivos de ruta de API sean reconocidos correctamente por Vercel.

Comments are closed.