Skip to main content

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.tsxstyles.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

原文 - TypeScript Support