前言
本来是志在撸一个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的 - 如果大哥们有需要功能,可以直接说。简单的抽空就加了,麻烦的再说=-。