【问题标题】:Migrate to SvelteKit's New Routing System迁移到 SvelteKit 的新路由系统
【发布时间】:2022-08-18 13:26:37
【问题描述】:

不了解你,但我听说过 SvelteKit 中的这个新路由系统。我第一次听说这个是在official docs 上找到的+error.svelte 文件。还不够快,我还看到了其他文件,例如 __layout.svelte 文件,它的文件名前面有一个 + 符号,如下所示:+layout.svelte on the docs。

所以我一直在想:

  • 如何从 SvelteKit 的旧路由系统迁移到这个更新的路由系统?
  • 如果可能,如何让 SvelteKit 做到这一点 自动地?
  • 这个新的路由系统的重要性是什么?

    标签: svelte sveltekit


    【解决方案1】:
    1. 在安装新版本之前,请更新到这些更改之前的最新版本 - @sveltejs/kit@next.405 - 确保您的应用在运行迁移之前使用该版本。
    2. 运行以下命令:

      npx svelte-migrate routes

      通过运行命令并点击y,您应该会看到:

      1. 完毕!是否要遵循建议的后续步骤取决于您,但我建议您执行这些步骤。 :)

      以下是补充信息。

      阅读以下几行是可选的。

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

      迁移指南

      page 引用 Rich Harris 的话:

      SvelteKit 的新版本包括设计大修,这将需要 对您的应用进行一些更改。

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

      npx svelte-migrate routes

      您需要在安装之前执行此操作 新版本!我们建议更新到最新版本 在这些更改之前 — @sveltejs/kit@next.405 — 并确保您的 app 在运行迁移之前使用该版本。

      这将重命名您的路线文件夹中的文件(请参阅this comment to learn more about the changes),迁移一些更改 自动并用链接回的错误注释您的代码 此页面并告诉您需要手动更新的内容。你可以找到 通过在您的代码库中搜索 @migration 来解决这些错误。

      变更原因

      我读过的最重要的原因之一就是这个,再次引用 Rich Harris 的话:

      有多种表达路线的方法。 src/routes/foo.sveltesrc/routes/foo/index.svelte 是等价的,有两种方法可以做 事情总是混乱的根源。每个都有缺点——太多了 index.svelte 在编辑器中打开的文件会让人感到困惑,但 foo.svelte 使托管相关文件变得尴尬。我经常发现自己 随着路线变多,将foo.svelte 移动到foo/index.svelte 复杂的(例如,它需要一个专门的错误页面,或者它获得一个孩子 路线,或者我需要将某些东西分解成一个单独的组件,或者 它需要一个页面端点,依此类推)。这些改变代价高昂 烦人,而且我总是因为不总是使用文件夹而自责。

      您可以阅读所有其他充分理由 on this link

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-27
      • 2012-02-24
      • 2023-04-10
      • 2010-12-23
      • 1970-01-01
      • 1970-01-01
      • 2016-12-04
      • 1970-01-01
      相关资源
      最近更新 更多