如何处理重置布局?

cho*_*ovy 5 svelte sveltekit

我现在收到此错误:

__layout.reset 已被删除,以支持命名布局:https ://kit.svelte.dev/docs/layouts#named-layouts

我有一个子目录,我不想继承其基本布局。

$ find . -name '*layout*'               
./setup-profile/__layout.reset.svelte
./auth/__layout.reset.svelte
./__layout.svelte
Run Code Online (Sandbox Code Playgroud)

package.json 有

    "@sveltejs/kit": "next",
Run Code Online (Sandbox Code Playgroud)

Jax*_*axx 8

您链接的文档页面非常不言自明。

\n

编辑:

\n

总的来说,更简单的方法是在源树的根部创建一个命名的重置布局,其中包含一个简单的<slot />,并在您想要从重置布局开始时引用该布局:

\n
src/routes/\n\xe2\x94\x9c auth/\n\xe2\x94\x82 \xe2\x94\x9c __layout@reset.svelte (will inherit from the reset layout)\n\xe2\x94\x82 \xe2\x94\x9c pageA.svelte\n\xe2\x94\x82 \xe2\x94\x94 pageB.svelte\n\xe2\x94\x9c setup-profile/\n\xe2\x94\x82 \xe2\x94\x9c __layout@reset.svelte (will inherit from the reset layout)\n\xe2\x94\x82 \xe2\x94\x9c pageA.svelte\n\xe2\x94\x82 \xe2\x94\x94 pageB.svelte\n\xe2\x94\x9c no-reset/\n\xe2\x94\x82 \xe2\x94\x9c __layout.svelte (will inherit from the base layout)\n\xe2\x94\x82 \xe2\x94\x9c pageA.svelte\n\xe2\x94\x82 \xe2\x94\x94 pageB.svelte\n\xe2\x94\x9c __layout.svelte\n\xe2\x94\x94 __layout-reset.svelte\n
Run Code Online (Sandbox Code Playgroud)\n


Max*_*ess 5

随着路由系统的发展,这不再起作用。

\n

我的理解是:

\n
    \n
  • 所有布局都继承自根布局+page.svelte
  • \n
  • 但您可以创建在路线的最终路径中不考虑的组。
  • \n
\n

例如,我们可以想象一个网站的布局包含页眉、主页和页脚块。

\n

但我们也可能有一些不由这些块元素组成的弹出窗口之王,而是它们是具有高z-index或类似内容的简单块。

\n

因为所有布局都继承根布局,所以我们可以在根处创建一个空白布局(包含单个<slot />),然后创建一个(app)组和一个(popup)组(括号在这里至关重要)。在每个组内部,您定义将由位于相应子文件夹中的所有布局继承的布局。

\n

它会给我们类似下面的东西:

\n
src/routes\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 (app)\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 +layout.svelte ----> contains Header, Main, Footer etc.\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 page1\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 +page.svelte\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 page2\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 +page.svelte\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 page3\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 +page.svelte\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 (popup)\n|   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 +layout.svelte ----> contains only popup HTML & styles\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 popup\n\xe2\x94\x82       \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 popup1\n\xe2\x94\x82       \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 +page.svelte\n\xe2\x94\x82       \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 popup2\n\xe2\x94\x82           \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 +page.svelte\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 (test)\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 +layout.svelte\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 test\n\xe2\x94\x82       \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 +layout.svelte\n\xe2\x94\x82       \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 page.svelte\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 +error.svelte\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 +layout.svelte  ----> contains nothing or only global things\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 +page.svelte\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 api\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 user\n    \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 [uid]\n    \xe2\x94\x82         \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 get.json\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 ...\n...\n
Run Code Online (Sandbox Code Playgroud)\n