Nextjs 动态页面路由:在页面变量中使用扩展运算符 [...example] 或 [[...example]] 的目的是什么?

Hyn*_*ekS 4 javascript routes reactjs next.js

我现在正在学习这个Nextjs框架。我想说我已经充分掌握了这些概念,但仍有一些事情我不确定。其中之一是展开运算符[...var][[...var]]在动态页面中 | 路由文件名。

例如next/auth 文档中的这一行:

pages/api/auth/[...nextauth].js
Run Code Online (Sandbox Code Playgroud)

是否有一些具体的用例(无法使用 来实现getStaticPaths()),或者它只是我不知道的命名约定?

Sas*_*cha 8

pages/api/auth/[...nextauth].js是一条包罗万象的路线,这意味着它将匹配,/api/auth/a但也匹配/api/auth/a/b/api/auth/a/b/c依此类推。

[[...nextauth]].js将是一个可选的包罗万象的路线。因此,除了上面常规的包罗万象的路线之外,它还会匹配/api/auth.