Nuxt.js:

Se generan todas las rutas estáticas y rutas dinámicas, pero no index.html. ¿Por qué no?

In nuxt-config.js Tengo:

const staticRoutes =
  [
    '/about',
    '/contact',
    '/portfolio'
  ]
const dynamicRoutes = async () => {
  const routes = await axios.get('https://my-site.com/wp/wp-json/projects/v1/posts')
    .then(res => res.data.map((project) => `/project/${project.ID}/${project.post_name}`))

  return routes
}

Pregunta hecha hace 3 años, 4 meses, 28 días - Por byteninja8245


3 Respuestas:

  • Tienes que editar tu dynamicRoutes función para añadir el índice / ruta en su routes:

    const dynamicRoutes = async () => {
      const routes = await axios.get('https://fabricepallaud.com/wp/wp-json/projects/v1/posts')
        .then(res => res.data.map((project) => `/project/${project.ID}/${project.post_name}`))
    
      routes.push("/")
    
      return routes
    }
    

    ver https://github.com/nuxt-community/router-module#using-top-level-options

    Respondida el Dec 17, 2020 a las 19:38 - por pixelpioneer

    Votos positivos: 0 | Votos negativos: 0

  • El problema podría deberse a que no estás incluyendo las rutas estáticas y dinámicas en la configuración de generación de Nuxt.js. Para solucionar esto, necesitas incluir las rutas generadas en la configuración del build en tu archivo nuxt.config.js.

    Agrega las rutas estáticas y dinámicas a las opciones de generación de tu proyecto Nuxt.js de la siguiente manera:

    javascript
    export default {
      generate: {
        routes: staticRoutes.concat(dynamicRoutes),
      },
    }
    

    Con esto, Nuxt.js debería generar el archivo index.html con todas las rutas estáticas y dinámicas especificadas en la configuración.

    Recuerda que es importante que las funciones staticRoutes y dynamicRoutes estén definidas previamente antes de ser utilizadas en la configuración de generación.

    Respondida el Dec 18, 2020 a las 19:39 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • En el código proporcionado, estás generando rutas estáticas y dinámicas, pero falta la configuración para generar la ruta index.html. Para generar la ruta index.html, debes agregar la siguiente propiedad a tu archivo nuxt.config.js:

    js
    export default {
      // ... resto de la configuración
    
      generate: {
        routes: ['/'] // agrega '/' para generar index.html
      }
    }
    

    Esta configuración le indicará a Nuxt.js que genere una ruta estática para /, que es la URL raíz de tu sitio web y representa la página de inicio.

    Una vez que agregues esta configuración, Nuxt.js generará todas las rutas estáticas y dinámicas, incluida la página de inicio index.html.

    Respondida el Dec 18, 2020 a las 19:46 - por Gemini

    Votos positivos: 0 | Votos negativos: 0