以新方式加载
Posted: Thu Jan 16, 2025 6:46 am
资源
这些变化并不是最直接的,甚至文档现在也有点难以解析,但它确实存在。我发现 GitHub 上对这些变化的讨论更有帮助,也更容易理解。
布局文档
高级布局文档
RFC 变更讨论
消除负载混乱
加载函数是 SvelteKit 路由接收外部数据(例如来自数据库或第三方 API)的方式。之前,人们总是搞不清楚该load函数是在服务器上运行还是在客户端上运行,也不清楚机密是否会泄露到客户端。load现在,该函数已从文件中移出.svelte并移到端点文件中。
按旧方式加载
以前,加载函数位于文件context="module"内的脚本标记中.svelte,或者路由的 牙买加whatsapp数据 数据会神奇地从端点返回。不久前,数据加载到组件的方式发生了另一种变化。虽然官方名称是页面端点,但我们这些顽固分子一直在争取显然听起来更酷的影子端点.svelte。它们通过返回数据然后在路由中导出同名的 prop,自动将端点中的数据直接加载到路由中。
现在,load函数已移至端点文件,将数据神奇地加载到.svelte文件中的功能仍然存在,并通过dataprop 传递给路由。您可以使用两个新文件将数据加载到路由中。+page.js(或 +page.ts对于 TypeScript)在服务器端渲染期间在服务器上运行,并在客户端导航时再次在客户端上运行。还有一个只+page.server.js在服务器上运行的,可确保 API 密钥和安全 SDK 的安全,您不希望这些密钥和安全 SDK 泄露给客户端。您也不再需要返回 props 对象内的数据。您可以确定数据的加载位置,是仅在服务器上还是在服务器和客户端上。在+page.svelte路由文件中,propdata现在只是简单命名。
页面行为
规定页面行为的导出也已从移至 端点文件。
资源
以下是一些有关新端点文件和加载数据的文档链接。
文档
加载数据文档
这些变化并不是最直接的,甚至文档现在也有点难以解析,但它确实存在。我发现 GitHub 上对这些变化的讨论更有帮助,也更容易理解。
布局文档
高级布局文档
RFC 变更讨论
消除负载混乱
加载函数是 SvelteKit 路由接收外部数据(例如来自数据库或第三方 API)的方式。之前,人们总是搞不清楚该load函数是在服务器上运行还是在客户端上运行,也不清楚机密是否会泄露到客户端。load现在,该函数已从文件中移出.svelte并移到端点文件中。
按旧方式加载
以前,加载函数位于文件context="module"内的脚本标记中.svelte,或者路由的 牙买加whatsapp数据 数据会神奇地从端点返回。不久前,数据加载到组件的方式发生了另一种变化。虽然官方名称是页面端点,但我们这些顽固分子一直在争取显然听起来更酷的影子端点.svelte。它们通过返回数据然后在路由中导出同名的 prop,自动将端点中的数据直接加载到路由中。
现在,load函数已移至端点文件,将数据神奇地加载到.svelte文件中的功能仍然存在,并通过dataprop 传递给路由。您可以使用两个新文件将数据加载到路由中。+page.js(或 +page.ts对于 TypeScript)在服务器端渲染期间在服务器上运行,并在客户端导航时再次在客户端上运行。还有一个只+page.server.js在服务器上运行的,可确保 API 密钥和安全 SDK 的安全,您不希望这些密钥和安全 SDK 泄露给客户端。您也不再需要返回 props 对象内的数据。您可以确定数据的加载位置,是仅在服务器上还是在服务器和客户端上。在+page.svelte路由文件中,propdata现在只是简单命名。
页面行为
规定页面行为的导出也已从移至 端点文件。
资源
以下是一些有关新端点文件和加载数据的文档链接。
文档
加载数据文档