如何开发一个基于Vue的ui组件库
程序员文章站
2022-04-21 19:51:49
开发模式
预览 demo
在开发一个 ui 库时,肯定需要一边预览 demo,一边修改代码。
常见的解决方案是像开发一般项目一样使用 webpack-dev-server 预...
开发模式
预览 demo
在开发一个 ui 库时,肯定需要一边预览 demo,一边修改代码。
常见的解决方案是像开发一般项目一样使用 webpack-dev-server 预览组件,比如通过 vue-cli 初始化项目,或者自己配置脚本。
文艺一点儿地可能会用到 parcel 来简化 demo 的开发配置(比如 muse-ui)。
展示文档
作为一个 ui 组件库,也肯定要有自己的组件展示文档。
一般业界常见方案是自己开发展示文档...
但这样会带来一个组件库和文档如何同步的问题。
为何不用 vuepress?
由于 vuepress 支持在 markdown 中插入组件,所以我们其实可以很自然地边写文档边开发组件。
从开发步骤上来说,甚至可以先写文档说明,再具体地编写代码实现组件功能。这样一来文档即是预览 demo,与组件开发可以同步更新。
p.s. react 的组件文档可以试试这俩库:
docz doc-scripts
类型声明
在开发和使用过程中如果对于一些对象、方法的参数能够智能提示,岂不美哉?
如何实现呢?
其实就是在相应文件夹中添加组件相关的类型声明(*.d.ts),并通过 src/index.d.ts 导出。
{ "typings": "src/index.d.ts", }
一开始将声明文件都放在 types/ 文件夹下,但在实践中觉得还是放在当前文件夹下比较好。一方面有利于维护,另一方面是读取时也有类型提示。
如何打包
打包工具
和打包库一样,选了 rollup。
单文件组件
在开发中用不用 *.vue 这样的单文件组件来开发呢?
muse-ui 完全不写 只使用 render 函数。 iview、element、vant 使用 .vue 文件,但样式单独写。 ant-design-vue 使用 .jsx 文件,样式也单独写。 vux 使用带
但碰到一个问题:如何打包
首先尝试不写推荐阅读
-
Vue.js 的移动端组件库mint-ui实现无限滚动加载更多的方法
-
详细讲解如何创建, 发布自己的 Vue UI 组件库
-
vue 基于element-ui 分页组件封装的实例代码
-
如何封装了一个vue移动端下拉加载下一页数据的组件
-
Mint UI 基于 Vue.js 移动端组件库
-
从零撸一个pc端vue的ui组件库( 计数器组件 )
-
基于vue写一个全局Message组件的实现
-
IE 报错 -- ‘SyntaxError:strict 模式下不允许一个属性有多个定义‘ ,基于vue element-ui页面跳转坑的解决
-
你不知道的Vue技巧之--开发一个可以通过方法调用的组件(推荐)
-
如何开发一个基于Vue的ui组件库