Lo primero es lo primero: leí los documentos de Next.js, pasé el tutorial, observé varios ejemplos, pero al final del día, sigo sin lograr algo muy simple con Next.js.
Tengo una aplicación que tiene estas configuraciones regionales: en y de .
Las rutas se ven así:
/en/things/[id] /de/things/[id]Básicamente, necesito mostrar algunos textos estáticos en dos idiomas que no tienen nada que ver con la identificación de la cosa. Estos son solo textos sin formato iguales para todas las identificaciones. Luego tengo algo de AJAX que realmente necesita la identificación de la ruta.
Ahora empiezan los problemas:
getStaticProps en las things/[id].js , aparece este error: Error: MISSING_MESSAGE: No messages were configured on the provider.getStaticProps así: export async function getStaticProps({locale}) { return { props: { messages: await import(`../messages/${locale}.json`) } } }y obtener este error:
Error: getStaticPaths is required for dynamic SSG pages and is missing for '/things/[id]'.getStaticPaths así: export const getStaticPaths = () => ({ paths: [], fallback: 'blocking' })porque tengo un millón de identificaciones, no puedo pregenerar todas las páginas. Además, los ID nuevos aparecen después de la implementación de la aplicación, por lo que no puedo enumerar todos los ID posibles como rutas durante el tiempo de compilación.
Ahora me sale este error:
Error: Error serializing `.messages` returned from `getStaticProps` in "/things/[id]". Reason: `object` ("[object Module]") cannot be serialized as JSON. Please only return JSON serializable data types.No puedo creer cómo algo tan simple puede ser tan difícil de lograr en un "marco" que pretende hacer la vida más fácil cuando se trabaja con React. Estoy tratando de migrar una aplicación existente de create-react-app a Next.js, pero las cosas muy simples son muy confusas de lograr.
Por favor, dígame cómo lograr lo siguiente muy simple:
/[locale]/things/[id] .No debe crear 2 rutas separadas para el idioma local, sino configurar next-i18next , automáticamente sincronizará sus enlaces de acuerdo con el idioma local seleccionado.