资讯专栏INFORMATION COLUMN

如何开发一个基于 Vue 的 ui 组件库(一)

高璐 / 3547人阅读

摘要:开发模式预览在开发一个组件库时,肯定需要一边预览,一边修改代码。一般业界常见方案是自己开发展示文档但这样会带来一个组件库和文档如何同步的问题。一方面有利于维护,另一方面是读取源码时也有类型提示。

开发模式 预览 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 完全不写