元エンジニアPMのプロダクトマネージャーお役立ち情報

プロダクトとビジネスの両輪どっちも回してる人 事業戦略やプロダクトマネジメントに関する情報を発信

React Nextで、静的htmlファイルをアップロードする

すんごい小さなことですが、実装中にあれ?これどうやるんだ?ってなったので備忘録的にメモをしておきます。
余談ですが最近ウェブサイト作るときは、React Nextで実装してSSG(next export)したりすることがほとんどです。

やりたいこと

facebook広告のドメイン認証時や、Google Search Consoleの認証とかでたまに発生するhtmlファイルをディレクトリ直下に上げる際、サーバーに直接アップロードせず、React Nextで管理できるようにする

最初考えたこと

pagesディレクトリにあげるhtmlと同じ型式のファイルを作り、tsxファイルとして管理

export const () => {
 return ( * htmlファイルの中身 *)
}  

これだと /hogehoge/index.html として期待と違うファイルが生成されてしまうので 🆖

こうすれば🆗

publicファイルに.htmlファイルをそのまま格納して、next exportするだけ。 困ったときは公式のドキュメント読めばだいたい解決するので、ちゃんと読んだらありました。

This folder is also useful for robots.txt, favicon.ico, Google Site Verification, and any other static files (including .html)!

このフォルダ(/public)は、robots.txt、favicon.ico、Google Site Verification、およびその他の静的ファイル(.htmlを含む)にも使えます。

nextjs.org

結論

.htmlファイルをreact nextで使うときは、publicにそのまま置きましょう!以上!