迁移到 SvelteKit 的新路由系统

2024-04-17

不知道你怎么想,但我听说过 SvelteKit 中的这个新路由系统。我第一次听说这个是与+error.svelte我在此处找到的文件官方文档 https://kit.svelte.dev/docs/routing#error。不久,我还看到了其他文件,例如__layout.svelte文件有一个+在文件名前面签名,如下所示:+layout.svelte在文档上。

所以我一直想知道:

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

  1. 在安装新版本之前,请更新到这些更改之前的最新版本 -@sveltejs/[email protected] /cdn-cgi/l/email-protection— 在运行迁移之前确保您的应用程序适用于该版本。
  2. 运行以下命令:

npx svelte-migrate routes

通过运行命令并点击y,你应该看到这个:

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

以下为补充信息。

阅读以下几行是可选的。

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

迁移指南

引用 Rich Harris 的话page https://github.com/sveltejs/kit/discussions/5774:

新版本的 SvelteKit 包括一项设计改革,需要 对您的应用程序进行一些更改。

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

npx svelte-migrate routes

安装前您需要执行此操作 新版本!我们建议更新到最新版本 在这些改变之前——@sveltejs/[email protected] /cdn-cgi/l/email-protection— 并确保您的 应用程序在运行迁移之前可以使用该版本。

这将重命名您的路由文件夹中的文件(请参阅此评论至 了解有关更改的更多信息 https://github.com/sveltejs/kit/discussions/5774#discussioncomment-3294867),迁移一些更改 自动并用链接回的错误注释您的代码 此页面并告诉您需要手动更新哪些内容。你可以找到 通过在代码库中搜索这些错误@migration.

变更原因

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

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

您可以阅读所有其他好的理由在这个链接上 https://github.com/sveltejs/kit/discussions/5748.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

迁移到 SvelteKit 的新路由系统 的相关文章

  • 在 SvelteKit 中全局导入图像 url

    我正在尝试以通配符方式导入目录中图像的所有 url 并有两个可能的扩展名 import urls from static images png svg 目前该目录中有三个文件 单独导入它们可以正常工作 当我使用此语法时 找不到文件 无法解析
  • “不提供名为‘工具提示’的导出”,即使我可以输出工具提示

    当这段代码运行时 index svelte import Chart Tooltip from chart js auto esm console log Tooltip Tooltip已成功输出到控制台 但我也收到错误 在浏览器中 请求的
  • 当 Svelte 重用父 dom 元素时如何确保仅本地转换

    在 Svelte 中 我有一个组件用于显示两个不同列表中的项目 当这些项目从一个列表移动到另一个列表时 它们使用过渡来动画进入或退出 不过 我还有一种方法可以过滤屏幕上显示的内容 显示一组新的项目将使用相同的组件 但具有不同的数据 在这种情
  • Sveltekit 新创建的 cookie 未显示在钩子的句柄函数中

    Summary Once 设置cookie标头在响应中发送 在 cookie 可见之前需要另一个请求handle 函数在hooks ts file Example 用户将用户名和密码发布到登录端点 Enpoint 用 set 响应访问令牌c
  • 如何通过svelte访问本地json文件?

    现在我使用 onMount 异步函数来访问 const dataAPI jsfwperf json let data onMount async gt const res await fetch dataAPI then res gt re
  • 从 file:// 运行 Svelte 应用程序,无需服务器

    我需要运行一个 Svelte 应用程序并且能够在没有服务器的情况下执行它 对于其他框架 这是可能的 因为它只是 javascript 但我找不到一种方法来单击我的 index html 并运行用 Svelte 构建的应用程序 我需要运行一个
  • sveltekit 中的 SPA / SSR

    我有一个页面 categories 在里面load函数来自 categories page server js我通过加载类别data来自数据库作为 JSON 对象 我将它们显示在 categories page svelte作为一个列表 当
  • Svelte商店功能更新

    Svelte 存储文档显示正在更新字符串或整数 但我没有在存储中找到任何动态函数 我不明白如何制作getData作为可写函数以通知 html 发生的变化 在下面的示例中 我想b后显示updateKey函数被调用 您将在此处找到 REPL 中
  • 页面加载时的简洁过渡和动画

    我目前正在使用 Svelte 和 Sapper 开发一个网站 我正在使用 Svelte 过渡来为某些页面元素添加动画效果 每当我更改为新的页面路由时 过渡动画都会正确显示 但是当我第一次加载页面时 它们没有动画 Svelte 如何处理页面加
  • 有没有办法在 svelte 组件中使用 pugjs?

    我正在尝试重写用 pugjs 制作的应用程序并用 sveltejs 表达 我真的很喜欢在 pugjs 中写 html 我想知道是否可以在 svelte 组件中使用 pugjs 我假设我可能需要使用苗条装载机 https github com
  • 获取 SvelteKit 端点请求的原始正文

    我的 SvelteKit 应用程序中有一个端点 用于处理来自 Stripe 的 Webhook 请求 每个请求都经过签名 以便可以验证它是否来自 Stripe 我必须验证该事件是否来自 Stripe 的代码如下所示 import Strip
  • 如何从 SvelteKit 应用程序发送安全的 API 请求,而不在客户端显示 API 密钥?

    我正在将 Supabase 用于新的 Sveltekit 应用程序 这个模板 https github com joshnuss svelte supabase 目前 我正在客户端传递 Supabase 密钥 如下所示 const supa
  • 将:click 事件传递到动态创建的

    我基本上需要能够触发一个或多个组件中的某些内容 即 当父级中的图标 按钮时通过 svelte component 动态添加 单击组件 例如我需要挂钩下面用 表示的部分 each charts as chart i div class wra
  • _layout.svelte 内的插槽属性未传递属性

    我正在开发一个 Sapper 项目 我想在加载到插槽中之前将一些异步数据加载到布局中 我发现在 layout svelte 文件中 我无法将道具传递到插槽 layout svelte
  • 选项 importNotUsedAsValues 已弃用

    有人可以帮我解决这个问题吗jsonfig json为一个精简的项目文件 它说的是importsNotUsedAsValues选项应替换为verbatimModuleSyntax compilerOptions moduleResolutio
  • 理解 Svelte 中的上下文(从 React Context 转换)

    我有一个使用 ContextAPI 来管理身份验证的 React 应用程序 我正在尝试在 Svelte 中实现类似的功能 In Authenticate js我有这个 import React useContext useState use
  • 迁移到 SvelteKit 的新路由系统

    不知道你怎么想 但我听说过 SvelteKit 中的这个新路由系统 我第一次听说这个是与 error svelte我在此处找到的文件官方文档 https kit svelte dev docs routing error 不久 我还看到了其
  • 设置 customElement: true 时,Svelte 绑定不起作用

    我想使用 Svelte 构建自定义元素 Thus in rollup config js I set customElement true 然后我必须使用 来引用我的子组件 但我发现 通过这种方式 bind不管用 这是代码示例 HelloW
  • Svelte:如何等待组件渲染

    我正在制作一个基于套接字连接的简单应用程序 基本上 一个用户决定其他用户可以看到什么 功能之一是为其他用户启动计时器 因此 有一个带有timerState变量和startTimer函数的Timer组件 当用户连接到套接字时 计时器组件与整个
  • 如何向 SvelteKit/Vite 应用添加版本号?

    我正在尝试在我的 SvelteKit 应用程序中创建一个系统 它会在某个页面上向您显示有关当前应用程序版本的信息 最好是 Git 提交哈希和描述 我尝试使用Vite的定义功能 https vitejs dev config define在构

随机推荐