背景
我们现在有自己的组件库了,但是单纯靠我们的README文件告诉使用者,还是不太高大上哈,而且也不能直接使用demo,所以我找到vuepress
什么是vuepress
vuepress是基于markdown的一款文档编写工具,官网是这么说的:
VuePress 由两部分组成:第一部分是一个极简静态网站生成器 (opens new window),它包含由 Vue 驱动的主题系统和插件 API,另一个部分是为书写技术文档而优化的默认主题,它的诞生初衷是为了支持 Vue 及其子项目的文档需求。
vuepress和Docsify进行比较的优缺点
优点:
- 本身就类似于一个vue项目,可以自行配置webpack打包,就配置来说,还是比较容易懂的
- 主题和和插件比较容易扩展
- 可以直接展示vue组件的demo
- 友好的seo
- 主题简洁
缺点:
- 不如docsify容易上手,配置比较多些(因为vuepress实际上是一个vue项目)
- 需要编译
开始
下载vuepress
npm install -D vuepress
在package.json中进入配置
"scripts": {..."docs:dev": "vuepress dev docs","docs:build": "vuepress build docs"}
新建一个docs文件夹,并且在里面加入README.md文件,在里面加入配置
home:true,代表使用vuepress默认的主题样式,其他对应的属性代表的意思,我们可以直接在下面的截图中看到
注意这个actionLink代表的是点击首页欢迎按钮进入的页面,也就是在docs下面有一个component文件夹,下面有一个numberInput.md文件
---home: trueactionText: 欢迎 →actionLink: /component/numberInputfeatures:- title: 组件库details: 基于element-ui搭建的组件库---
然后在docs文件夹下面,新增文件夹和文件,路径是:.vuepress/config.js,这是对整个vuepress项目进行配置的地方,配置一下(后期我们的webpack也可以在这里进行配置)
module.exports = {title: 'ui',description: '一个我们的内部组件库',port: '8888',base: '/',// 主题配置themeConfig: {// 头部导航条,自己定义urlnav: [{text: '首页',link: '/'},{text: '指南',link: '/guide/start'},{text: '文档',link: '/test'},{text: 'GitLab',link: '/t'}],}
运行npm run docs:dev ,即可看到下面页面
点击欢迎按钮,我们会进入组件文档中,我们平常看vue的一些文档,会发现网站侧边是有导航的,如图:
下面我们进行导航设置,这个设置也是在config.js文件中的,其中每个组件对应的文档就是里面配置的路径,都是相对于docs文件夹的位置决定的,所以我们需要在docs文件夹下面新建component文件夹,里面就是我们每一个组件对应的md文件了
// config.jsthemeConfig: {sidebar: [{title: '开发指南',collapsable: false,children: ['/guide/start',]},{title: '组件',collapsable: false,children: [{collapsable: false,children: ['/component/numberInput',]},{collapsable: false,children: ['/component/iconSvg',]},{collapsable: false,children: ['/component/fileUpload',]}]}]},
这样配置成功后,我们就可以写一个组件的文档了,请看下一篇
创建一个组件文档
