prerenderRoutes
prerenderRoutes 向 Nitro 发出提示,以预渲染额外的路由。
在进行预渲染时,你可以提示 Nitro 预渲染额外的路径,即使它们的 URL 没有出现在生成页面的 HTML 中。
prerenderRoutes 只能在 Nuxt 上下文 中调用。prerenderRoutes 必须在预渲染期间执行。如果 prerenderRoutes 被用于非预渲染的动态页面/路由中,那么它将不会被执行。const route = useRoute()
prerenderRoutes('/')
prerenderRoutes(['/', '/about'])
在浏览器中,或者在预渲染之外调用时,
prerenderRoutes 将不会产生任何效果。你甚至可以预渲染 API 路由,这对于完全静态生成的站点(SSG)特别有用,因为你可以像拥有可用服务器一样使用 $fetch 获取数据!
prerenderRoutes('/api/content/article/name-of-article')
// Somewhere later in App
const articleContent = await $fetch('/api/content/article/name-of-article', {
responseType: 'json',
})
根据你部署的提供商,生产环境中的预渲染 API 路由可能无法返回预期的响应头。例如,JSON 响应可能以
application/octet-stream 内容类型提供。在获取预渲染的 API 路由时,请务必手动设置 responseType。