Nuxt/docs/3.api/3.utils/prerender-routes.md

1.6 KiB

title description links
prerenderRoutes prerenderRoutes hints to Nitro to prerender an additional route.
label icon to size
Source i-simple-icons-github https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/app/composables/ssr.ts xs

When prerendering, you can hint to Nitro to prerender additional paths, even if their URLs do not show up in the HTML of the generated page.

::important prerenderRoutes can only be called within the Nuxt context. ::

::note prerenderRoutes has to be executed during prerendering. If the prerenderRoutes is used in dynamic pages/routes which are not prerendered, then it will not be executed. ::

const route = useRoute()

prerenderRoutes('/')
prerenderRoutes(['/', '/about'])

::note In the browser, or if called outside prerendering, prerenderRoutes will have no effect. ::

You can even prerender API routes which is particularly useful for full statically generated sites (SSG) because you can then $fetch data as if you have an available server!

prerenderRoutes('/api/content/article/name-of-article')

// Somewhere later in App
const articleContent = await $fetch('/api/content/article/name-of-article', {
  responseType: 'json',
})

::warning Prerendered API routes in production may not return the expected response headers, depending on the provider you deploy to. For example, a JSON response might be served with an application/octet-stream content type. Always manually set responseType when fetching prerendered API routes. ::