嵌套布局上的 Svelte Routing 404
Svelte Routing 404 on nested layouts
我正在遵循 SvelteKit 文档中的指南。
在嵌套布局部分,我遇到了一个问题,想知道我是否做错了什么或者这是一个错误。
我有以下布局...(就像在文档中一样!)
/routes/
/__layout.svelte
/index.svelte
/about.svelte
/settings/
/__layout.svelte
/profile.svelte
/notifications.svelte
在/routes/__layout.svelte
中我有以下代码:
<nav>
<a href="./">Home</a>
<a href="/about">About</a>
<a href="/settings/profile">Settings</a>
</nav>
<slot />
在 /routes/settings/__layout.svelte
中我有以下代码:
<h1>/settings</h1>
<div class="submenu">
<a href="/settings/profile">Profile</a>
<a href="/settings/notifications">Notifications</a>
</div>
<slot></slot>
每个其他 *.svelte
文件只有一个 h1
标签,其中硬编码了页面路由,例如... <h1>/index</h1>
等等。
我遇到的问题是,当我单击 Settings
link 时,它导航到适当的 link,在本例中为 /settings/profile
,但是当我单击嵌套的 link /settings/notifications
,然后单击任何其他顶部导航 link,例如 Home
link,我收到一个 404 错误,显示 Not Found: /settings
如果我再次单击 Home
,它会正确显示 /index
link。
在 url 条上,路由器似乎只向上移动了一层...所以从 /settings/notifications
转到 /settings
,它在路由目录中不存在。
很抱歉 post 并提前感谢任何 help/clarification。
您只需要 index.svelte 设置文件夹中的文件,创建它,这个问题就会消失。
/routes/
/__layout.svelte
/index.svelte
/about.svelte
/settings/
/index.svelte
/__layout.svelte
/profile.svelte
/notifications.svelte
我有一个类似的问题,并意识到错误是在 links 中的 href 开头没有包含反斜杠。例如。从路线 src/routes/settings/profile,href="about" 将转到 src/routes/settings/about,而不是 src/routes/about。 link 应该是 href="/about".
我正在遵循 SvelteKit 文档中的指南。
在嵌套布局部分,我遇到了一个问题,想知道我是否做错了什么或者这是一个错误。
我有以下布局...(就像在文档中一样!)
/routes/
/__layout.svelte
/index.svelte
/about.svelte
/settings/
/__layout.svelte
/profile.svelte
/notifications.svelte
在/routes/__layout.svelte
中我有以下代码:
<nav>
<a href="./">Home</a>
<a href="/about">About</a>
<a href="/settings/profile">Settings</a>
</nav>
<slot />
在 /routes/settings/__layout.svelte
中我有以下代码:
<h1>/settings</h1>
<div class="submenu">
<a href="/settings/profile">Profile</a>
<a href="/settings/notifications">Notifications</a>
</div>
<slot></slot>
每个其他 *.svelte
文件只有一个 h1
标签,其中硬编码了页面路由,例如... <h1>/index</h1>
等等。
我遇到的问题是,当我单击 Settings
link 时,它导航到适当的 link,在本例中为 /settings/profile
,但是当我单击嵌套的 link /settings/notifications
,然后单击任何其他顶部导航 link,例如 Home
link,我收到一个 404 错误,显示 Not Found: /settings
如果我再次单击 Home
,它会正确显示 /index
link。
在 url 条上,路由器似乎只向上移动了一层...所以从 /settings/notifications
转到 /settings
,它在路由目录中不存在。
很抱歉 post 并提前感谢任何 help/clarification。
您只需要 index.svelte 设置文件夹中的文件,创建它,这个问题就会消失。
/routes/
/__layout.svelte
/index.svelte
/about.svelte
/settings/
/index.svelte
/__layout.svelte
/profile.svelte
/notifications.svelte
我有一个类似的问题,并意识到错误是在 links 中的 href 开头没有包含反斜杠。例如。从路线 src/routes/settings/profile,href="about" 将转到 src/routes/settings/about,而不是 src/routes/about。 link 应该是 href="/about".