# dumi (opens new window)

依托umi,通过 ‘umi 插件’形式 实现文档功能。

# routes

确定文档文件,并构建路由结构 dumi/packages/preset-dumi/src/plugins/features/routes.ts @umijs/preset-dumi/src/routes/getRouteConfig.ts

  1. 递归获取文件夹中符合条件的文件
  2. 根据文件夹结构对应构建路由结构
  3. 路由对象中component属性,即引用.md文件
  4. umi中,将动态路由数据放在临时文件core/routes.ts

    umi中,临时文件umi.ts中将引用core/routes.ts文件

# dumi-loader

.md文件的处理方式; dumi/packages/preset-dumi/src/plugins/features/compile.ts; 使用dumi-loader处理返回.tsx内容传递给babel-loader

  1. .md文件处理

    @umijs/preset-dumi/src/transformer/index.ts

    1. 根据文件修改时间,缓存处理结果
    2. 使用remark解析.md文件
    3. 使用个别自定义插件处理 md 内容
  2. thememarkdownResult拼接tsx页面内容
最后更新: 1/12/2023, 1:44:05 PM