元エンジニア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にそのまま置きましょう!以上!