sea*_*unt 6 javascript middleware reactjs next.js
我有一条路线在/:username.
在我的_middleware.ts文件中我想做这样的事情
export function middleware(req: NextRequest) {
const isDynamicRoute = req.nextUrl.pathname === "/[username]";
if (isDynamicRoute) {
return undefined
}
// handle other routes...
}
Run Code Online (Sandbox Code Playgroud)
问题是我似乎无法在中间件中访问这个动态路由名称。我看到/test的是路径名而不是/[username].
当我登录时,request我看到了我正在寻找的内容,但它位于一个[Symbol(internal request)]键内(以及一个包含真实路径名的单独符号键)。是否可以在中间件文件中可靠地访问该值?或者我需要处理这个逻辑吗_app.ts?(见下面的日志)
[Symbol(internal request)]: {
credentials: 'same-origin',
headers: BaseHeaders [Headers] { [Symbol(map)]: [Object] },
method: 'GET',
referrer: 'about:client',
redirect: 'follow',
url: NextURL {
href: '/test',
origin: '',
protocol: '',
username: '',
password: '',
host: '',
hostname: '',
port: '',
pathname: '/test',
search: '',
searchParams: URLSearchParams {},
hash: ''
}
},
[Symbol(internal request)]: {
cookieParser: [Function: cookieParser],
geo: {},
ip: undefined,
page: { name: '/[username]', params: [Object] },
url: NextURL {
href: '/test',
origin: '',
protocol: '',
username: '',
password: '',
host: '',
hostname: '',
port: '',
pathname: '/test',
search: '',
searchParams: URLSearchParams {},
hash: ''
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5375 次 |
| 最近记录: |