实现步骤
- 创建路由文件:在
src/routes
目录下,按照路由结构创建相应的文件。例如,对于动态路由 /user/[id]
,在 src/routes/user/[id].svelte
创建组件文件。
- 使用
load
函数预加载数据:在每个路由组件(如 src/routes/user/[id].svelte
)中,定义 load
函数。这个函数会在路由组件渲染之前被调用,用于获取所需的数据。比如,可以在此处发起 API 请求获取用户信息。
- 设置预加载选项:在
svelte.config.js
文件中,可以配置路由预加载相关选项,如设置预加载策略等。
关键API
load
函数:这是 SvelteKit 中路由组件特有的函数,用于在组件渲染前加载数据。它接受 params
(包含动态路由参数,如 [id]
)、fetch
(可用于发起网络请求)等参数。例如:
// src/routes/user/[id].svelte
export async function load({ params, fetch }) {
const response = await fetch(`/api/user/${params.id}`);
const user = await response.json();
return { user };
}
svelte.config.js
配置:虽然不是直接的预加载 API,但在此文件中可以配置路由相关的优化选项,如 kit.prerender
等,控制预渲染和预加载行为。例如:
// svelte.config.js
export default {
kit: {
prerender: {
// 配置预渲染策略
}
}
};