Astroで開発環境専用ページを作る
AstroSSR
コード同様このサイトの記事はVSCodeで基本的に書いていたが、普段マークダウンはQiita・Qiita Team・GitHubで書いてるのもありWeb UIで書きたくなった。
AIに指示して簡単にデザインを作ってもらったんだけど、build時もそのページを作成してしまったのでdevの時だけ作るようにしたかった。
どうすればいいのかというと、プリレンダしないようにするのと、環境変数で分けて404を返すようにしてあげるとよい。
Astroファイルの先頭に以下を追加すると、開発環境でのみアクセス可能になります:
export const prerender = falseでサーバーサイドレンダリングを有効化- 本番環境では404を返すように条件分岐を追加
他に方法はあるかもしれないが、とりあえずこのサイトは開発環境でのみ/editorにアクセスできるようになっていて本番は404が返るようになっているはずだ。
同様に開発環境専用ページへの導線を出したい場合は環境変数で制御してあげるとよい。
ナビゲーションメニューに開発環境専用のリンクを追加する例:
{
!import.meta.env.PROD && (
<li>
<a href="/editor" class="nav-link nav-link-dev">
エディタ
</a>
</li>
);
}