静的アセット

Next.jsはルートディレクトリのpublicフォルダ配下にある画像などの静的ファイルを提供できます。public内のファイルはベースURL(/)から始まるパスでコード内から参照できます。

例えば、public内にme.pngを追加した場合、次のコードで画像にアクセスできます:

Avatar.js
import Image from 'next/image'

export function Avatar() {
  return <Image src="/me.png" alt="me" width="64" height="64" />
}

robots.txtfavicon.icoなどの静的メタデータファイルには、appフォルダ内の特別なメタデータファイルを使用してください。

知っておくと良いこと:

  • ディレクトリ名は必ずpublicにしてください。名前は変更できず、静的アセットを提供する唯一のディレクトリです。
  • ビルド時publicディレクトリ内にあるアセットのみがNext.jsによって提供されます。リクエスト時に追加されたファイルは利用できません。永続的なファイルストレージにはAWS S3などのサードパーティサービスを使用することを推奨します。