本页面介绍了 Svelte 如何与 TypeScript 集成,涵盖了类型定义、组件类型接口以及 TypeScript 在编译过程中如何处理。有关错误和警告系统的更多信息,请参阅 错误和警告系统。
Svelte 通过全面的类型定义提供一流的 TypeScript 支持,使开发人员能够创建类型安全的组件。Svelte 中的 TypeScript 集成涵盖了几个关键领域:
Svelte 的 TypeScript 定义结构上支持 Svelte 4 的类式组件和 Svelte 5 的函数式组件。
来源:packages/svelte/types/index.d.ts1-523 packages/svelte/src/index.d.ts1-356 packages/svelte/elements.d.ts1-35 packages/svelte/src/ambient.d.ts1-10
Svelte 提供了几个用于类型化组件的接口。其中最重要的两个是:
Component<Props, Exports, Bindings> - 用于 Svelte 5 组件(函数式)SvelteComponent<Props, Events, Slots> - 用于 Svelte 4 组件(类式,已弃用)Component 接口是类型化 Svelte 5 组件的主要方式。
使用示例
Svelte 提供了实用类型来从组件中提取信息:
ComponentProps<Component> - 从组件中提取 props 类型Snippet<Parameters> - 用于 Svelte 的 snippet 功能的类型来源:packages/svelte/types/index.d.ts138-172 packages/svelte/types/index.d.ts231-239 packages/svelte/types/index.d.ts272-296
当 `