Next.js 路由器 - 找不到 404 页面

Mat*_*Mat 3 javascript typescript reactjs next.js

我是 Next.js 的新手,正在摆弄路由器。有些页面可以工作,但动态页面则不能。有谁知道我做错了什么?

这是我的文件结构:

在此输入图像描述

产品主页可以正常工作,但是当我循环浏览产品并在这些产品中时,我有一个如下链接:

<Link href={`/products/${props.product._id}`}>
Run Code Online (Sandbox Code Playgroud)

但是当我点击任何产品时,我都会收到 404。有人知道我做错了什么吗?谢谢。

You*_*mar 7

要拥有/products/${props.product._id}URL,您需要[id]在文件夹中创建一个目录products,并在其中添加page.tsx(以app/[id]/page.tsx)。

这是因为在使用初始pages路由器时,文件会创建一条路由,从 Next.js 开始v13,并且在使用app路由器时,路由是由文件夹创建的,并且 apage.js用于呈现该路由,如文档所示:

在此输入图像描述

这里(请参阅最后一个问题)CLI 会询问您要使用哪一个路由器:

在此输入图像描述

最后,如果您按照教程操作并想要使用pages路由器,最简单的方法是创建一个新项目并相应地回答 CLI:

npx create-next-app@latest
Run Code Online (Sandbox Code Playgroud)