-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
React 组件库搭建指南(二):开发调试 #4
Comments
启动不了 |
具体是什么报错呢?docz在Windows上存在一些bug,如果是docz的问题,可以尝试更换storybook作为文档工具,不清楚你的具体问题。 |
更新了一版,把 docz 换成 dumi 了,可以再试下 |
可以了,之前是什么原因呢?我启动后localhost:3000一直打不开 |
这个要看你的具体报错了,docz 问题的确比较多,如果有帮助的话可以给个 star 哈 |
请问这个dumi是不是对标的storybook |
之前 docz 存在的问题是 |
我引入了样式没有生效 |
希望可以帮助到你 |
您的回答对我帮助很大,十分感谢 |
已解决,dumi配置文件名字错了QAQ |
您好,我想把文件名修改成大写,我的其他文件引入也全部修改成了大写,还是报错,可以帮我看一下吗 |
git 大小写敏感问题,自己研究下看看 |
前言
在上一节完成项目的基本初始化后,本节主要解决开发组件时的预览以及调试问题,顺路解决文档编写。
此处选择 dumi 作为文档站点工具,并兼具开发调试功能。
集成 dumi
增加
npm scripts
至package.json
。新建
.umirc.ts
配置文件,并写入以下内容:.umirc.ts
搭建站点骨架
这一步主要是处理不属于组件文档的其他文档,比如站点首页、快速开始、贡献指南以及常用问题等等,此类文档我们在根目录新建一个 docs 文件夹存放。
此处以首页为例。
docs/index.md
每一个字段分别对应文档上的一个内容,比较简单,就不过多阐述了,可以参考 dumi 文档进行配置,我在这里配置了“首页”、“快速上手”以及“帮助”三个页面,具体可以去看 master 代码。
接下来利用 dumi 帮助我们完成组件开发调试。
调试开发
新建
src/alert/demo/basic.tsx
,并引入编写好的组件。接下来,我们要让这个 demo 在浏览器里跑起来,目标:修改 Alert 源码时,页面能够及时热刷新,帮助我们调试组件。
同时在开发不同组件功能时,可以创建不同的 demo,除了用作调试,也是极好的使用文档。
新建
src/alert/index.md
,并写入以下内容:运行
yarn dev
切到组件页面,可以看到以下内容,具体字段意义在截图中标出,比较通俗易懂,比如 order 是用于控制当前元素的顺序。可以看到,
<code src="./demo/basic.tsx"></code>
将我们编写的组件渲染到了 markdown 页面中进,除了这种形式,还可以直接引入组件进行调用(复杂组件不推荐,会提高文档复杂度),也就是说可以直接在 markdown 中无缝使用组件,很方便地达到了调试的目的。其他编写方案可以参考 dumi 文档 - 写组件 demo。
文档补全
经过前面的操作,我们可以愉快地进行组件开发了,同时调试使用的 demo 也恰巧成为了文档的一部分。
只需再补充一些组件定义,这篇 markdown 就是我们所需要的最终组件文档。
手动补全
可以直接通过 markdown 语法手写组件 API。
src/alert/index.md
这种方式适合对文档要求比较高的同学,控制度较高。
自动补全
dumi 提供了一种偷懒的方式:组件 API 自动生成。
我们在上一章节中编写了
Alert
组件的类型定义,现在给定义加上注释。其中
description
是属性字段的描述,default
是属性字段的默认值,这样一来 dumi 就能根据这些信息生成 API 了,这里需要使用另外一个内置组件API
。src/alert/index.md
渲染结果如下
使用这种方案会在编写组件定义时带来一些限制,如果
alias
或extends
,渲染结果可能无法达到预期,两种方式按需选择即可。部署文档站点
其实到上一节本文就差不多结束了,还是顺手把站点部署也一起解决了。
这里我们直接将文档站点部署到
Github Pages
,比较方便(之前使用 vercel 托管的页面,但有些同学可能没有接触过,不太友好)。配置路由以及 publicPath
托管在
Github Pages
,所以应用是挂在${username}.github.io/${repo}
下面,我们站点应用的静态资源路径publicPath
以及路由basename
都需要进行适配。.umirc.ts
但是这样改动后,本地就无法正常预览构建后的站点了(
yarn preview:site
里的serve doc-site
是基于根目录预览),这里我们通过环境变量区分一下。package.json
.umirc.ts
部署站点应用
通过
gh-pages
一键部署。package.json
执行
yarn deploy:site
命令成功后就可以在${username}.github.io/${repo}
看到自己的组件库文档站点啦。以笔者此项目为例,站点地址为
https://worldzhao.github.io/react-ui-library-tutorial
。使用 Github Actions 自动触发部署
在项目根目录新建
.github/workflows/gh-pages.yml
文件,后续 master 触发 push 操作时则会自动触发站点部署,更多配置可自行参阅文档。The text was updated successfully, but these errors were encountered: