Static Assets
Next.js 可以在根目录下名为 public
的文件夹中提供静态文件,如图片。public
文件夹中的文件可以从基础 URL (/) 开始被你的代码引用。
例如,文件 public/avatars/me.png
可以通过访问 /avatars/me.png
路径查看。显示该图片的代码可能如下所示:
缓存
Next.js 无法安全地缓存 public
文件夹中的资源,因为它们可能会发生变化。默认应用的缓存头是:
Robots、Favicons 和其他文件
这个文件夹也适用于 robots.txt
、favicon.ico
、Google 站点验证和任何其他静态文件 (包括 .html
)。但要确保不要有与 pages/
目录中的文件同名的静态文件,因为这会导致错误。阅读更多。
值得注意的是:
- 该目录必须命名为
public
。这个名称不能更改,它是唯一用于提供静态资源的目录。- 只有在构建时位于
public
目录中的资源才会被 Next.js 提供服务。在请求时添加的文件将无法使用。我们建议使用第三方服务 (如 Vercel Blob) 来进行持久文件存储。