繁体   English   中英

当basePath不是root时如何在Next.js中正确设置动态路由?

[英]How to properly set dynamic route in Next.js when basePath is not root?

我已按照本教程将我的 Next.js 项目设置为驻留在网站根目录之外。 (我把它放在 /app 子文件夹中)。

在我开始对几页使用动态路由之前,一切都很好。

我尝试了三种方式:

  1. <Link href="/project/[project_id]" as="/app/project/project1">

返回错误Error: The provided 'as' value (/app/project/project1) is incompatible with the 'href' value (/project/[project_id])

  1. <Link href="/project/project1" as="/app/project/project1">

哪种工作(它导航)但它无法预加载下一页(我收到错误 404 - 找不到像这样链接的页面)

  1. <Link href="/app/project/project1" as="/app/project/project1">

根本不起作用。

任何人都知道如何解决这个问题?

在 next.config 中设置basePath

basePath: '/app'

现在,从您的 Link 组件中删除对/app的任何引用。

<Link href="/project/[project_id]" as="/project/project1">

这对我们来说是正确的,并且从下一个 9.5 开始工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM