next.js - Next.js 动态路由加载不存在的脚本导致 404
问题描述
要使用动态路由,我创建了一个pages/[slug].js
页面,并按照建议链接到它:
<Link href="/shop/[slug]" as={`/shop/${item.slug}`}>
<a>{item.title}</a>
</Link>
我遵循了 Next.js 文档:
- https://nextjs.org/docs/routing/dynamic-routes
- https://nextjs.org/docs/api-reference/next/link#dynamic-routes
链接和页面在本地运行后按预期工作next dev
,但是在生产中(或在构建应用程序并在next start
本地运行后),在导航到动态路由后,系统地加载了一个不存在的脚本。它不会使应用程序崩溃,但会生成带有 404 状态代码的请求。脚本从/_next/static/___/pages/shop/example-page.js
.
可能是什么原因?
解决方案
事实证明这是由于页面上的虚拟占位符链接而发生的:<Link href="#"><a>Home</a></Link>
. 用工作链接替换它们解决了这个问题。
推荐阅读
- javascript - 如何在 Rails 的表单中使用 javascript 变量
- java - 尝试在插件类型项目中添加 log4j。错误:java.lang.NoClassDefFoundError:org/apache/log4j/PropertyConfigurator
- spring-mvc - 需要从 REST API 回发解析二进制 pdf 数据并将其保存在文件系统或 mysql db 中
- laravel - Laravel Vue js:如何像这样更新组件表单 Javascript:
- java - 如何创建简单的 maven java web 项目
- c# - 乒乓球物理
- react-native - 急速模块地图中不存在模块“反应”
- properties - 使用 std::vector<> 作为 Objective-C 属性
- java - 使用 ReadObject 和 WriteObject 的自定义序列化
- jmeter - 如何在Jmeter中处理json请求帖子正文中的动态值