Faviconを切り分ける
最終更新: 2022年02月03日
Faviconを切り分ける理由
ローカルサーバーと本番のURLを同時に開いていると混乱することがあります。いくら編集しても反映されず、気が付いたら本番のURLを見ていた。という経験はほとんどの開発者が経験することです。
ローカルサーバーの場合Faviconをわかりやすいものに変えることで解決します。
実装
以下の例ではローカルサーバーの場合に工事マーク🚧 にすることでタブで見分けがつくようにしています。
pages/_document.tsximport Document, { Head, Html, Main, NextScript } from 'next/document'; class MyDocument extends Document { render() { return ( <Html lang="ja"> <Head> {/* 追加 */} {process.env.NODE_ENV === 'development' ? ( <link rel="icon" type="image/svg+xml" href="/favicon-dev.svg" /> ) : ( <link rel="icon" type="image/svg+xml" href="/favicon.svg" /> )} </Head> <body> <Main /> <NextScript /> </body> </Html> ); } } export default MyDocument;
Safari は現在 SVG Favicon に対応していません。
FaviconはSVGにして絵文字を使っています。
public/favicon-dev.svg<svg xmlns="http://www.w3.org/2000/svg"> <text y="32" font-size="32">🚧</text> </svg>