esperando que un mago de Next.js pueda ayudarme con esto, o al menos decirme rotundamente si no es posible.
Tenemos un sitio que se compila en archivos estáticos. Estos se servirán desde S3.
Cuando ejecuto next export , todo se compila correctamente, pero esperaba poder acceder directamente a las subpáginas sin agregar la extensión .html. Asumí (erróneamente) que las próximas páginas integradas en directorios y solté un index.html en ese directorio.
La configuración en el lado del desarrollador es bastante simple. Cada componente tiene un directorio, por ejemplo, "algún componente", con un index.js que exporta el componente nombrado desde un archivo adyacente como "algún componente.js".
Todo esto funciona si empiezo en la raíz del sitio: puedo navegar, por ejemplo, /components/some-component sin preocuparme por la extensión.
Next ha creado un directorio some-component , pero el archivo que contiene todavía se llama some-component.html. Entonces, si accedo a esa URL desde el navegador, obviamente es 404.
¿Hay alguna forma de pasar a escupir index.html en los directorios, de modo que funcione la navegación directa al directorio (intenta decir eso después de una bebida)? ¿O estoy ladrando al árbol equivocado?
Sé que hay otras soluciones para esto, particularmente para s3, pero pensé que valía la pena preguntar.
¡Salud!
trailingSlash tiene una configuración de barra diagonal final que debería funcionar para usted:
// next.config.js module.exports = { trailingSlash: true, } Cuando esta configuración es true , y usando algo como ./pages/products/shoes.jsx como ejemplo, se crea un directorio con el nombre del archivo .jsx ( shoes ) y ese archivo .jsx se convierte en un archivo index.html dentro de ese directorio, es decir, href="/products/shoes/" . Su servidor enviará el index.html de esa ruta (o puede configurarse si aún no lo ha hecho) incluso cuando index.html no esté especificado en href .