nuxt logo

文档翻译(非官方)

prerenderRoutes

prerenderRoutes 提示 Nitro 预渲染额外的路由。

在预渲染时,即使生成页面的 HTML 中没有显示其 URL,你也可以提示 Nitro 预渲染额外的路径。

prerenderRoutes 只能在 Nuxt 上下文 中调用。

prerenderRoutes 必须在预渲染期间执行。如果 prerenderRoutes 用于未预渲染的动态页面/路由,则不会执行。

const route = useRoute()

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

在浏览器中,或者如果在预渲染之外调用,prerenderRoutes 将不起作用。

你甚至可以预渲染 API 路由,这对于完全静态生成的网站(SSG)特别有用,因为这样你可以像有可用服务器一样 $fetch 数据!

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

// 应用中的某个地方
const articleContent = await $fetch('/api/content/article/name-of-article', {
  responseType: 'json',
})

在生产环境中,预渲染的 API 路由可能不会返回预期的响应头,这取决于你部署的提供商。例如,JSON 响应可能会以 application/octet-stream 内容类型提供。 在获取预渲染的 API 路由时,始终手动设置 responseType