项目结构和组织
本页提供了 Next.js 中所有文件夹和文件约定的概述,以及组织项目的建议。
文件夹和文件约定
顶级文件夹
顶级文件夹用于组织应用程序的代码和静态资源。


app | App 路由 |
pages | Pages 路由 |
public | 要提供的静态资源 |
src | 可选的应用程序源代码文件夹 |
顶级文件
顶级文件用于配置应用程序、管理依赖项、运行中间件、集成监控工具和定义环境变量。
| Next.js | |
next.config.js | Next.js 配置文件 |
package.json | 项目依赖项和脚本 |
instrumentation.ts | OpenTelemetry 和检测文件 |
middleware.ts | Next.js 请求中间件 |
.env | 环境变量 |
.env.local | 本地环境变量 |
.env.production | 生产环境变量 |
.env.development | 开发环境变量 |
.eslintrc.json | ESLint 配置文件 |
.gitignore | Git 要忽略的文件和文件夹 |
next-env.d.ts | Next.js 的 TypeScript 声明文件 |
tsconfig.json | TypeScript 配置文件 |
jsconfig.json | JavaScript 配置文件 |
路由文件
layout | .js .jsx .tsx | 布局 |
page | .js .jsx .tsx | 页面 |
loading | .js .jsx .tsx | 加载界面 |
not-found | .js .jsx .tsx | 未找到界面 |
error | .js .jsx .tsx | 错误界面 |
global-error | .js .jsx .tsx | 全局错误界面 |
route | .js .ts | API 端点 |
template | .js .jsx .tsx | 重新渲染的布局 |
default | .js .jsx .tsx | 并行路由回退页面 |
嵌套路由
folder | 路由段 |
folder/folder | 嵌套路由段 |
动态路由
[folder] | 动态路由段 |
[...folder] | 捕获所有路由段 |
[[...folder]] | 可选捕获所有路由段 |
路由组和私有文 件夹
(folder) | 在不影响路由的情况下对路由进行分组 |
_folder | 将文件夹和所有子段从路由中排除 |
并行和拦截路由
@folder | 命名槽 |
(.)folder | 拦截同一级别 |
(..)folder | 拦截上一级别 |
(..)(..)folder | 拦截上两级 |
(...)folder | 从根目录拦截 |