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
を手動で設定してください。
※このページは Nuxt.js 公式ドキュメントの翻訳ページ(非公式)です。
公式ドキュメントの該当ページはこちら:
https://nuxt.com/docs/3.x/api/utils/prerender-routes