aaa/bbb/page.tsx 可以定义 /aaa/bbb 的路由。
aaa/[id]/bbb/[id2]/page.tsx 中的 [id] 是动态路由参数,可以在组件里取出来。
aaa/[...xxx]/page.tsx 可以匹配 /aaa/xxx/xxx/xxx 的任意路由,叫做 catch-all 的动态路由。但它不匹配 /aaa
aaa/[[...xxx]]/page.tsx 同上,但匹配 /aaa,叫做 optional catch-all 的动态路由。
aaa/(xxx)/bbb/page.tsx 中的 (xxx) 只是分组用,不参与路由,叫做路由组
aaa/@xxx/page.tsx 可以在 layout.tsx 里引入多个,叫做平行路由
aaa/(..)/bbb/page.js 可以拦截 /bbb 的路由,重写对应的组件,但是刷新后依然渲染原组件,叫做拦截路由。