迁移到 SvelteKit 的新路由系统

Zed*_*edd 6 svelte sveltekit

不知道你怎么想,但我听说过 SvelteKit 中的这个新路由系统。我第一次听说这个是通过我在官方文档+error.svelte中找到的文件。不久,我还看到其他文件,例如文件名前面有一个符号的文件,如下所示:在文档上。__layout.svelte++layout.svelte

所以我一直想知道:

  • 如何从 SvelteKit 的旧路由系统迁移到这个更新的路由系统?
  • 如果可以的话,如何让SvelteKit自动完成呢?
  • 这个新的路由系统有何重要性?

Zed*_*edd 10

    \n
  1. 在安装新版本之前,请更新到这些更改之前的最新版本 \xe2\x80\x94 @sveltejs/kit@1.0.0-next.405\xe2\x80\x94 确保您的应用程序在运行迁移之前可与该版本配合使用。
  2. \n
  3. 运行以下命令:
  4. \n
\n

npx svelte-migrate routes

\n

通过运行命令并点击y,您应该看到以下内容:

\n

在此输入图像描述

\n
    \n
  1. 完毕!您可以自行决定是否要遵循建议的后续步骤,但我建议您执行这些步骤。:)
  2. \n
\n

以下为补充信息。

\n

阅读以下几行是可选的。

\n

我找到了一些很好的材料来提出上述解决方案:

\n

迁移指南

\n

引用本页的里奇·哈里斯

\n
\n

新版本的 SvelteKit 进行了设计检修,\n这需要对您的应用进行一些更改。

\n

要开始迁移您的应用程序,请运行以下命令:

\n
\n

npx svelte-migrate routes

\n
\n

您需要在安装新版本之前执行此操作我们建议在进行这些更改之前\n更新到最新版本 \xe2\x80\x94 @sveltejs/kit@next.405\xe2\x80\x94 并确保\n您的应用在运行迁移之前适用于该版本。

\n

这将重命名您的路由文件夹中的文件(请参阅此评论以\n了解有关更改的更多信息),自动迁移一些更改\n并使用链接回此页面的错误注释您的代码\n并告诉您需要手动更新哪些内容。您可以通过在代码库中搜索 .\n来找到这些错误@migration

\n
\n

变更原因

\n

我读过的最重要的原因之一就是这个,再次引用里奇·哈里斯的话:

\n
\n

有多种方式来表达路线。src/routes/foo.svelte和 \nsrc/routes/foo/index.svelte是等价的,并且有两种做事方式总是会造成混乱。index.svelte每个都有缺点 \xe2\x80\x94在编辑器中打开太多\n文件会让人感到困惑,而且foo.svelte\n 会使相关文件的共置变得很尴尬。我经常发现自己\n随着路由变得更加复杂\nfoo.sveltefoo/index.svelte移动(例如,它需要一个专用的错误页面,或者它获得一个子\n路由,或者我需要将某些内容分解为一个单独的组件,或者\n需要一个页面端点, 等等)。这些更改成本高昂且令人厌烦,而且我总是因为不总是使用文件夹而自责。

\n
\n

您可以在此链接上阅读所有其他充分的理由。

\n