dumi 如何使用?一文教你使用,高效写出你的博客、组件库文档

news2024/12/28 19:44:48

文章目录

    • 一、dumi介绍
    • 二、使用 dumi 的两种方式(着重在已成型项目中使用dumi)
      • 2.1、基于 dumi 官网带有的脚手架去进行开发
      • 2.2、在已成型的项目中引用 dumi 插件,运行项目
      • 2.3、dumi中使用scss
      • 2.4、如何在组件内写 tsx | md 文档
        • 2.4.1、button/index.tsx
        • 2.4.1、button/index.md
      • 2.5、运行 npm run dumi 效果
    • 结语

一、dumi介绍

关于对 dumi 的介绍我们就可以简单的理解为快速开发文档的一种便捷开发工具,里面囊括了多种配置,我们不需要再去手动的编写组件这种,所以为我们开发组件库文档,官方文档,个人博客介绍这种网站提供了很便捷的帮助。

有兴趣的同学也可以去看下 tinkerbell-ui 这套手搭组件库文档,满满的😭血泪史😭。

现在dumi推出了2的版本,当然我们在这里已经引入了dumi1的版本,所以此文我们针对dumi1进行简单介绍,2的版本,我们在后续的升级中会有所体现,文档地址参照如下。

dumi1官方文档
在这里插入图片描述

二、使用 dumi 的两种方式(着重在已成型项目中使用dumi)

2.1、基于 dumi 官网带有的脚手架去进行开发

这一块不是咱们今天主要介绍的主题,当然官网也给了我们很好的实例,针对引用组件等等,我们可以直接根据路由等然后抛出、引用,然后把菜单完善好即可。
参考如下:
dumi 快速上手
在这里插入图片描述
我们可以根据上方的流程,得到一个dumi的脚手架

2.2、在已成型的项目中引用 dumi 插件,运行项目

参照文档,我们执行两步操作

npm i dumi@1.1.48 -S

完成之后我们在package.json的script中添加

    "dumi": "cross-env APP_ROOT=dumi dumi dev",
    "dumi-build": "cross-env APP_ROOT=dumi dumi build",

在这里插入图片描述
随即我们可以再项目的根目录创建一个dumi的文件夹,这个时候我们需要参照文档去进行对应的路由匹配,暴露组件等
在这里插入图片描述
具体可以参照文档,对应的文件对照都在文档中有所体现
目录介绍
在这里插入图片描述
github 对应的实例(docs中的index.md,简单配置等可以直接copy过来)
dumi-template

我这边的 .umirc.ts 大家也可以参照 dumi 的配置去进行使用

import { defineConfig } from 'dumi';
const path = require('path');
const chainWebpack = require('webpack-chain');
const repo = 'tinkerbell-ui-react';

export default defineConfig({
  title: repo,
  chainWebpack(memo) {
    // 设置 alias
    memo.resolve
      .alias
      .set('tinkerbell-ui-react', path.resolve(__dirname, 'src'))
  },
  resolve: {
    previewLangs: ['js', 'jsx', 'ts', 'tsx'],
  },
  favicon:
    'https://user-images.githubusercontent.com/9554297/83762004-a0761b00-a6a9-11ea-83b4-9c8ff721d4b8.png',
  logo:
    'https://user-images.githubusercontent.com/9554297/83762004-a0761b00-a6a9-11ea-83b4-9c8ff721d4b8.png',
  outputPath: 'docs-dist',
  mode: 'site',
  hash: true,
  // Because of using GitHub Pages
  base: `/${repo}/`,
  publicPath: `/${repo}/`,
  navs: [
    null,
    // {
    //   title: '组件',
    //   path: 'components',
    //   // 可通过如下形式嵌套二级导航菜单,目前暂不支持更多层级嵌套:
    // },
  ],
  // more config: https://d.umijs.org/config
});

2.3、dumi中使用scss

安装 @umijs/plugin-sass

npm i @umijs/plugin-sass

随即在 dumi 处直接可以声明对应的scss即可
在这里插入图片描述

2.4、如何在组件内写 tsx | md 文档

2.4.1、button/index.tsx

我们要引入组件然后将对应的组件暴露出来,给外部的index进行引用解析
在这里插入图片描述

2.4.1、button/index.md

正常的md编写即可,头部需要将对应的配置写上
在这里插入图片描述
最后会有一个总的组件去把暴露出来的组件进行一个全部抛出
在这里插入图片描述

2.5、运行 npm run dumi 效果

在这里插入图片描述

结语

附上项目:tinkerbell-ui-react

✨ 每天创作一点点
✨ 开心快乐一整天
✨ 点赞关注加收藏
✨ 美好一天又一天

铁铁们 感谢支持 我需要你们的三连 👍👍👍
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/75747.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DataX 二次开发支持 Oracle 更新数据

文章目录1、原理2、源码修改2.1 OracleWriter注释对writeMode的限制2.2 WriterUtil,增加oracle逻辑2.3 CommonRdbmsWriter.Task修改2.4 测试前文回顾: 《DataX 及 DataX-Web 安装使用详解》 《DataX 源码调试及打包》 《DataX-Web 源码调试及打包》 目前…

2022年四川建筑八大员(土建施工员)考试试题及答案

百分百题库提供建筑八大员(土建)考试试题、建筑八大员(土建)考试预测题、建筑八大员(土建)考试真题、建筑八大员(土建)证考试题库等,提供在线做题刷题,在线模拟考试&…

RabbitMQ基础概念

文章目录RabbitMQ介绍AMQPErlang架构模型PublisherConnectionChannelVirtual HostExchangeBindingConsumerRabbitMQ介绍 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Er…

Qt-数据库开发-事务提交(3)

Qt-数据库开发-通过QSqlTableModel显示和修改数据,开启事务 文章目录Qt-数据库开发-通过QSqlTableModel显示和修改数据,开启事务1、概述2、实现效果3、主要代码4、完整源代码更多精彩内容👉个人内容分类汇总 👈👉数据库…

毕设选题推荐基于python的django框架的疫苗预约接种管理系统

💖🔥作者主页:计算机毕设老哥🔥 💖 精彩专栏推荐订阅:在 下方专栏👇🏻👇🏻👇🏻👇🏻 Java实战项目专栏 Python实…

新型网络接入控制技术

1.NAC技术 1.1简介 网络接入控制(Network Access Control,简称NAC)是由思科(Cisco)主导的产业级协同研究成果,NAC可以协助保证每一个终端在进入网络前均符合网络安全策略。NAC技术可以提供保证端点设备在接入网络前完全遵循本地网络内需要的安全策略&a…

list容器模拟实现

📋 个人简介 💖 作者简介:大家好,我是菀枯😜 🎉 支持我:点赞👍收藏⭐️留言📝 💬格言:不要在低谷沉沦自己,不要在高峰上放弃努力&am…

布局福建市场,维也纳酒店欧暇·地中海酒店能否为投资人带来信心与底气?

近日,锦江酒店(中国区)“一城一海,暇享好时光”——欧暇地中海漳州长泰凯悦广场店开业典礼隆重举办。 与此同时,锦江酒店(中国区)维也纳酒店&欧暇地中海酒店品牌厦门推介会也圆满落地。在本…

Able2Extract Professional识别引擎经过微调

Able2Extract Professional识别引擎经过微调 改进的表格检测-现在,您可以在自定义PDF到Microsoft Excel转换过程中更准确地确定类似表格结构和内容的位置。 改进了表与列标题的分离-表识别引擎经过改进,可以检测和识别具有单个标题的多列表。 改进的PDF文…

echarts map地图中绘制浙江省市区县乡镇多级联动边界下钻的最新geojson数据文件获取和更新

文章目录ECharts Map地图的显示GeoJSON数据文件获取在ECharts中绘制浙江省的数据ECharts Map地图的显示 ECharts支持地理坐标显示,专门提供了一个geo组件,在setOption中提供option.geo配置即可显示地图。 option.geo配置中有个map属性,取值…

HBase中的Compaction详解

Compaction的作用 由于memstore每次刷写都会生成一个新的HFile,且同一个字段的不同版本(timestamp)和不同类型(Put/Delete)有可能会分布在不同的 HFile 中,因此查询时需要遍历所有的 HFile。为了减少 HFile…

PHPMYADMIN 无法编辑 MYSQL 解决方法

本想通过镜像重新把老站点搭建起来拷贝点文章内容,登录后台时发现忘记了密码,想着通过 PHPMyAdmin 修改 Mysql 数据库内容是非常简答的,万万没想到如下图提示错误:#1030 Get error -1 from storage engine,当时就想到可能因 InnoDB 引擎问题导致,查看在 Mysql 的 my.cnf …

C#学习记录——Windows计算器的制作【实例】

参考《C#从入门到项目实践》边学习,边练习实现。 Windows计算器的制作 此次练习的计算器应用软件在Visual Studio 2019编程环境中开发,是一个简单的窗体应用程序,实现简单的计算器功能。 1、系统功能描述 Windows计算器是利用C#程序设计编…

InputStreamReader构造函数的四种方式实现

InputStreamReader类的构造函数 InputStreamReader(InputStream in) //创建InputStreamReader对象,构造方法中传递输入流,使用默认字符集InputStreamReader(InputStream in, String charsetName) //创建InputStreamReader对象,构造方法中传递…

国考省考行测:主体分析法,高频词往往是主体,没有主体也能说语意主旨,故事型材料对比分析法,积极引申大道理

国考省考行测:主体分析法,高频词往往是主体,没有主体也能说语意主旨,故事型材料对比分析法,积极引申大道理 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能,附带行测和申论&#…

Redis主从复制,哨兵模式和集群模式

主从复制 什么是主从复制 主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。缺陷:故障恢复无法自动化;写操作无法负载均…

JSP ssh网上家具店系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 JSP ssh网上家具店系统是一套完善的web设计系统(系统采用ssh框架进行设计开发),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模 式开发。开发环境为TOMCAT7.0,M…

shell编程(三)--awk

本以为只是个命令&#xff0c;学起来这就是语言么&#xff0c;参看man手册多试吧 格式 awk pattern{action} <file> ​ A pattern can be: ​ BEGIN ​ END ​ expression 示例&#xff1a; ​ awk {print $0} awk.txt ​ print是打印命令&#xff0c;awk.txt是我们为…

JavaScript—实现手风琴画册

✅作者简介&#xff1a;热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏&#xff1a;前端案例分…

EM算法——投硬币样例实现

理论参考 【机器学习】EM——期望最大&#xff08;非常详细&#xff09; 样例介绍 有c个硬币&#xff0c;每次随机选一个投掷n次&#xff0c;重复执行m次并记录结果。 根据投掷结果计算出每个硬币正面的概率。 每次选择的硬币未知。 过程介绍 随机初始化硬币为正的概率 he…