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
将导致整页加载。这仅适用于多个根布局。