-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in 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: