Next.js项目中是否可以将public文件夹移动到src目录下?
结论
该操作不可行,Next.js 目前所有主流版本均不支持将 public 文件夹放置在 src 目录下。
原因说明
- Next.js 的静态资源读取逻辑是固定的,只会识别项目根目录下的
public文件夹,不管你使用的是 Pages Router 还是 App Router 版本,这个规则都通用。 - 根目录
public下的所有文件会被直接映射到服务的根路由路径下对外提供访问,例如根目录下public/icon.png可以直接通过/icon.png路径访问。如果把public移动到src目录下,框架无法识别到这个静态资源目录,所有存放在此处的资源请求都会返回 404 错误。
优化建议
你可以保持 public 文件夹放在项目根目录,所有业务代码、组件、工具函数、路由逻辑等都放到 src 目录下即可,完全可以实现业务逻辑和应用配置分离的诉求,也不会出现目录混乱的问题。
内容的提问来源于stack exchange,提问作者Zoltan Rakottyai
相关产品推荐
相关产品推荐

