Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

208
Views
Next.js SSR con API que no se compila correctamente

"No construir correctamente" que significa "no terminar de construir en absoluto". Configuré un proyecto de blog muy básico con SSR dinámico que obtiene datos de Notion-API para generar páginas de blog estáticas. Todo funciona bien cuando lo ejecuto en el next dev desarrollo; sin embargo, cuando intento construir el proyecto, se ejecuta en un bucle sin fin sin que se muestre ningún error.

Un pensamiento que tuve fue el siguiente:
Si entiendo la secuencia de todo correctamente, Next.js ya intenta construir los sitios estáticos durante la next build . La generación dinámica del sitio se basa en una API que también he codificado dentro del mismo proyecto, que reenvía las solicitudes a Notion para ofuscar los secretos. Obviamente, ninguna API local estará activa durante la compilación, ¿supongo que es el error con el que me estoy topando?

Para ilustrar, aquí está el código de las páginas que se van a generar:

 import Head from 'next/head'; export default function Post( { postData, postBlocks } ) { console.log( { postData, postBlocks } ); return ( <> <Head> <title>Placeholder</title> <meta name="description" content="" /> </Head> <h1>Placeholder</h1> </> ) } // Get further info on the specific "Post" from Notion via my API export async function getStaticProps( { params } ) { const postDataRequest = fetch( `${ process.env.API_ROOT }/posts/${ params.id }` ); const postBlocksRequest = fetch( `${ process.env.API_ROOT }/blocks/${ params.id }` ); const [ postData, postBlocks ] = await Promise.all( ( await Promise.all( [ postDataRequest, postBlocksRequest ] ) ) .map( response => response.json() ) ); return { props: { postData, postBlocks: postBlocks.results }, revalidate: 86400, }; } // Fetch all "Posts" from Notion via my API, get their ID and generate a static route for each export async function getStaticPaths() { const req = await fetch( `${ process.env.API_ROOT }/posts?limit=999` ); const data = await req.json(); const paths = data.results.map( page => { return { params: { id: page.id } }; } ) return { paths, fallback: false, }; }

También intenté iniciar la API localmente y construir el proyecto en otra terminal, esto tampoco funcionó. ¿Me he perdido algo en alguna parte?

También publiqué mi proyecto en GitHub para una inspección más detallada.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Resolví este pensando mucho sobre si una API era realmente necesaria. Dado que ya tengo acceso a las claves de noción en todo el proyecto en process.env , no hay una necesidad real de crear una API. Mover la lógica de consulta a funciones auxiliares a las que simplemente puedo llamar resolvió todos los problemas que enfrenté.

Aprendizaje: no se limite a crear API para todo. Puede que solo te haga la vida más difícil.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!