首页 > 解决方案 > Next.js 动态路由加载不存在的脚本导致 404

问题描述

要使用动态路由,我创建了一个pages/[slug].js页面,并按照建议链接到它:

<Link href="/shop/[slug]" as={`/shop/${item.slug}`}>
  <a>{item.title}</a>
</Link>

我遵循了 Next.js 文档:

链接和页面在本地运行后按预期工作next dev,但是在生产中(或在构建应用程序并在next start本地运行后),在导航到动态路由后,系统地加载了一个不存在的脚本。它不会使应用程序崩溃,但会生成带有 404 状态代码的请求。脚本从/_next/static/___/pages/shop/example-page.js.

可能是什么原因?

标签: next.js

解决方案


事实证明这是由于页面上的虚拟占位符链接而发生的:<Link href="#"><a>Home</a></Link>. 用工作链接替换它们解决了这个问题。


推荐阅读