我在生产中遇到了一些无法在本地重现的问题。
来自 nextjs(版本 12.3.x
)的 Link
在开发中以及在本地生产模式下运行构建时效果良好,这意味着导航无需完整页面重新加载。但是,当使用 terraform 部署时,所有 Link
组件都会导致整个页面重新加载。其他一切都按预期进行。
我的应用程序中混合有 Link
子项,有时它是 a
,但有时它是一个 button
或只是一个 >div
或 span
。在每种情况下,都会发生全页面刷新。这就是为什么我怀疑它一定与配置有关,而不是与 Link
使用有关,但是我不确定从哪里开始调试,并且我正在寻找正确方向的提示。
最佳答案
回来回答这个问题。就我而言,Link
组件本身和构建都没有任何问题。问题出在我们的 terraform 配置中的路径重写(它重写了 /_next/*
中的所有内容)。
It appears that getServerSideProps
fetches JSON files which will be used to render the page他们的路径被重写并导致 403 错误,这使得页面重新加载,而不是让我像我习惯的那样无缝导航。
这个问题与我的配置非常相关,但我的一般建议是检查您是否重写了导航时下一步创建的 json
文件的任何路径,以防您遇到同样的问题仅在登台/制作时。
关于next.js - 部署后,在 nextjs 中使用 <Link/> 导航总是完全重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74222971/