前言
本来是志在撸一个wbc
组件库的,写组件库得写文档吧,找了挺久没有找到合适的。恰逢ant mobile5.0
出了,直接clone
下来,改了一堆代码,算是实现了功能,但是感觉用起来还是有点别捏,反正是自用,就准备撸一个简单点的。
调研
调研,直白点来说就是,研究抄哪个,比较了vant
和ant
的。
都挺好看的,得出结论,好用的组件库,必须有好看的文档界面。
比较大的区别就是,vant
实际上只有一个device
,根据滚动条在页面中移动。
而ant
则是一个demo
可以直接匹配一个device
。这样比较复杂的demo
,可以分开写,让使用者看起来更加清晰,不用在同一个device
中不停的滑。
就拍板决定抄ant
了。
过程
因为要做的是web-component
,所以所有的代码都是原生js写的,没有引任何的框架。抄袭的结果最开始已经展示过了。
md渲染
code
的渲染用的是remarkable
和highlight.js
。
剩下的table
和h*
都是直接抄ant
的样式。
device中渲染
device
中的渲染用的是iframe
引入html
的模式,因为很多情况下,code
中的代码,不能直接使用,或者是直接使用不符合预期,react
还好,vue
和js
组件应该更加明显,因此,干脆直接放开,demo
和device
中的内容都分开来写。
其他
因为demo
和device
是分开的,因此需要写一个webpack
的插件,用来读取文件目录,生成一份component
和demo
和html
的映射绑定。
后续迭代计划
- 加上
vue
和react
的支持 (done,分别对应vue分支和react分支) html
和demo
看看能不能优化下- 多语言就不写了,英语不好
- 现在路由是
hash
,研究下能不能改成history
的 - 如果大哥们有需要功能,可以直接说。简单的抽空就加了,麻烦的再说=-。