NextJS中文文档 - Route Groups
在 app
目录中,嵌套文件夹通常映射到 URL 路径。然而,您可以将文件夹标记为路由组,以防止该文件夹被包含在路由的 URL 路径中。
这允许您将路由段和项目文件组织成逻辑组,而不影响 URL 路径结构。
路由组适用于:
- 将路由组织成组,例如按网站部分、意图或团队。
- 在同一路由段级别启用嵌套布局:
- 在同一段中创建多个嵌套布局,包括多个根布局
- 将特定段包含在布局中
- 在特定路由上选择加载骨架屏
约定
路由组可以通过将文件夹名称包装在括号中来创建:(folderName)
值得了解:
- 路由组的命名除了组织目的外没有特殊意义。它们不影响 URL 路径。
- 包含路由组的路由不应该解析为与其他路由相同的 URL 路径。例如,由于路由组不影响 URL 结构,
(marketing)/about/page.js
和(shop)/about/page.js
都会解析为/about
并导致错误。- 如果您使用多个根布局而没有顶级
layout.js
文件,您的主页page.js
文件应该定义在其中一个路由组中,例如:app/(marketing)/page.js
。- 在多个根布局之间导航将导致完整页面加载(而不是客户端导航)。例如,从使用
app/(shop)/layout.js
的/cart
导航到使用app/(marketing)/layout.js
的/blog
将导致完整页面加载。这仅适用于多个根布局。