Astro Remark 插件开发:构建类型安全的 frontmatter
Astro 对 TypeScript 提供了优秀的支持,但仍存在一些不足之处。例如,对于 frontmatter 而言,虽然提供了内容集合(Content Collection)提供了一定的类型安全,但在使用 Remark 插件修改 frontmatter 时,类型信息仍会丢失。为此,本文提出一种思路:单独定义扩展的 frontmatter 类型,通过类型推导扩展 Remark 插件类型,在组件中使用类型断言,实现了前后类型一致。