Tom*_*ton 5 javascript node.js next.js next-router
有点奇怪...
我已经为我的项目之一的根索引页面指定了重定向路径。它没有问题,并将我重定向到正确的路径,但现在它将我重定向到我所有其他项目的根索引页面的相同路径。(尝试访问localhost:3000现在将我的所有项目重定向到localhost:3000/ggp )
我尝试重新启动服务器,删除原始项目中的 next.config.js 文件,注释掉重定向键,在原始项目和其他项目中使用不同的路径覆盖它,但都无济于事。
这是我第一次创建 next.config.js 文件,显然也是第一次使用重定向键。我遵循文档中的指导(https://nextjs.org/docs/api-reference/next.config.js/redirects)。
起初我认为这可能是因为我将 permanent 设置为 true,但这似乎是一个有点奇怪的功能,使其成为全局的,当我在开发模式(下一个开发)和调试下运行不同的项目时,一切正常工作它应该。所以我不确定该值是否在第一次使用时被缓存或其他什么。
有人以前遇到过这个问题/知道解决方法吗?我将不胜感激你的帮助!
原来的next.js。
module.exports = {
async redirects() {
return [
{
source: '/',
destination: '/ggp',
permanent: true,
},
]
},
}
Run Code Online (Sandbox Code Playgroud)
事实证明,问题在于,当您将 permanent 键设置为 true 时,它会在浏览器中缓存重定向路由(至少在 Google Chrome 中是这样),因此重定向路由将用于该路径的所有请求,无论是哪个项目活跃。
清除浏览器缓存并将永久密钥切换为 false,为我解决了这个问题(我刚刚打开检查器,转到网络选项卡,右键单击网络请求表并选择“清除浏览器缓存”)。
对我来说,这似乎是一个奇怪的功能,特别是因为它的使用在文档中似乎相当模糊(尽管可能在我没有看过的地方提到过)。
不管怎样,吸取的教训:在你抓狂之前先在另一个浏览器中测试这个问题:')
| 归档时间: |
|
| 查看次数: |
902 次 |
| 最近记录: |