静态文件服务

Next.js 支持将静态文件(例如图片)存放到根目录下的 public 目录中,并对外提供访问。public 目录下存放的静态文件的对外访问路径以 (/) 作为起始路径。

例如,如果你添加了一张图片到 public/me.png 路径,则以下代码就能访问到此图片:

import Image from 'next/image'

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

export default Avatar

注意: next/image 需要 Next.js 10 或更新版本。

此文件夹还可用于存放 robots.txtfavicon.ico、Google 站点验证文件以及任何其它静态文件(包括 .html 文件)!

注意: 请勿为 public 改名。此名称是写死的,不能修改,并且只有此目录能过够存放静态资源并对外提供访问。

注意: 请确保静态文件中没有与 pages/ 目录下的文件重名的,否则这将导致错误。

Read more: https://nextjs.org/docs/messages/conflicting-public-file-page

注意:只有放在 public 目录下的静态资源才能在 构建时 由 Next.js 找到。在运行时添加的文件不可用。我们建议使用第三方服务,例如 AWS S3 来持久地存储文件。