Nuxt 3路由在页面和公共目录具有相同名称时重定向

huangapple go评论54阅读模式
英文:

Nuxt 3 route redirect on page and public directory with the same name

问题

我有一个名为 foo.vue 的页面和一个名为 foo 的公共目录。

pages
  foo.vue
public
  foo

当我在本地加载页面时,使用 "/localhost:3000/foo",页面会加载,但浏览器会在末尾添加斜杠,并从原始 URL 重定向到带斜杠的 URL(301 重定向)。

当部署到 Vercel 时,可以使用相同的 URL 加载页面,但我看不到 301 重定向,并且不会添加斜杠。

不管有没有斜杠,我希望在开发和生产环境中的行为一致。

在我的 nuxt.config.ts 文件中,唯一可疑的行是:

ssr: process.env.NODE_ENV !== 'development',

我添加了这行代码以使一些 Vuetify 组件正常工作。

我阅读了这个 Nuxt 问题 几次,但没有找到解决方法。

那么,如何在开发和生产环境中获得一致的斜杠或无斜杠行为?

英文:

I have a foo.vue page and a foo directory under public.

pages
  foo.vue
public
  foo

When I load the page locally with "/localhost:3000/foo", the page is loaded, but the browser adds a trailing slash at the end, and there is a 301 redirect from the original URL to the one with the slash.

When it's deployed to Vercel, the page can also be loaded with the same URL, but I don't see 301 redirect and no trailing slash is added.

Either with or without trailing slash, I want dev and prod behave consistently.

In my nuxt.config.ts, the only suspicious line is,

ssr: process.env.NODE_ENV !== 'development',

I added this line to make some Vuetify components happy.

I read this Nuxt issue a few times, didn't figure out a fix.

So, how do I get consistent trailing slash or no slash on dev and prod?

答案1

得分: 1

尝试将 pages/foo.vue 更改为 pages/foo/index.vue

英文:

Try changing pages/foo.vue to pages/foo/index.vue

huangapple
  • 本文由 发表于 2023年2月27日 07:14:39
  • 转载请务必保留本文链接:https://go.coder-hub.com/75575584.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定