MST
星途 面试题库

面试题:Svelte动态路由性能调优之基础

在Svelte中实现动态路由时,如何通过预加载组件来提升性能?请简要描述实现步骤和涉及的关键API。
29.4万 热度难度
前端开发Svelte

知识考点

AI 面试

面试题答案

一键面试

实现步骤

  1. 创建路由文件:在 src/routes 目录下,按照路由结构创建相应的文件。例如,对于动态路由 /user/[id],在 src/routes/user/[id].svelte 创建组件文件。
  2. 使用 load 函数预加载数据:在每个路由组件(如 src/routes/user/[id].svelte)中,定义 load 函数。这个函数会在路由组件渲染之前被调用,用于获取所需的数据。比如,可以在此处发起 API 请求获取用户信息。
  3. 设置预加载选项:在 svelte.config.js 文件中,可以配置路由预加载相关选项,如设置预加载策略等。

关键API

  1. 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 };
}
  1. svelte.config.js 配置:虽然不是直接的预加载 API,但在此文件中可以配置路由相关的优化选项,如 kit.prerender 等,控制预渲染和预加载行为。例如:
// svelte.config.js
export default {
    kit: {
        prerender: {
            // 配置预渲染策略
        }
    }
};