この記事は人間が実装を確認したのち、AIが記事を執筆しました。
Next.js 15で静的サイト生成(output: 'export')を使用する際、sitemap.tsの実装でエラーが発生する場合があります。
解決方法#
この問題は、sitemap.tsに以下の2つのエクスポートを追加することで解決できます:
実装例#
動作確認#
この実装により、npm run build実行時に/out/sitemap.xmlが正常に生成されます。
注意点#
dynamic = 'force-static'のみでは不十分で、revalidate = falseも必要です- 環境変数やインポートしたモジュールの使用も可能です
- ビルド時に静的に解決される値であれば、動的な値も使用できます
代替案#
もし上記の方法で解決しない場合は、以下の代替案があります:
- ビルドスクリプトでsitemap.xmlを生成
- publicディレクトリに静的なsitemap.xmlを配置
まとめ#
Next.js 15でoutput: 'export'を使用する場合でも、適切な設定を追加することでsitemap.tsを使用したサイトマップ生成が可能です。この方法により、Next.jsの標準機能を活用しつつ、型安全性を保ったサイトマップ生成が実現できます。
参考資料#