nuxt logo

ドキュメント翻訳(非公式)

prerenderRoutes

prerenderRoutes は Nitro に追加のルートをプリレンダリングするよう指示します。

プリレンダリング時に、生成されたページのHTMLにURLが表示されていなくても、Nitroに追加のパスをプリレンダリングするよう指示することができます。

prerenderRoutesNuxt コンテキスト 内でのみ呼び出すことができます。

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 を手動で設定してください。