TypeScript 支持
Docusaurus(以下简称 Doc)支持使用TypeScript(以下简称 TS)编写主题组件. 为了支持TS,需要在你的项目里添加@docusaurus/module-type-aliases
和@types
依赖。
npm install --save-dev typescript @docusaurus/module-type-aliases @types/react @types/react-router-dom @types/react-helmet @tsconfig/docusaurus
然后在项目根目录添加文件: tsconfig.json
:
tsconfig.json
{
"extends": "@tsconfig/docusaurus/tsconfig.json",
"include": ["src/"]
}
Doc 不会使用 tsconfig.json
编译你的项目。添加此文件仅仅是为了更好地编辑体验,你也可以选择手动或者在CI上执行tsc
对代码进行类型检查。
现在你可以使用编写TS主题组件了。
Swizzling TS 主题组件
对于支持TS的主题组件,你可以在swizzling命令最后添加 --typescript
标识获取 TS 源码。 比如,以下命令将会在 src/theme/Footer
目录生成 index.tsx
和 styles.module.css
。
# 自定义 footer 组件
npm run swizzle @docusaurus/theme-classic Footer -- --typescript
# 自定义博客侧边栏组件
npm run swizzle @docusaurus/theme-classic BlogSidebar/Desktop -- --eject --typescript
目前仅官方的Doc主题 @docusaurus/theme-classic
支持TS。 如果你想给Doc主题添加TS支持的的作者, 可以参考 Lifecycle APIs docs。