Menu

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