背景
我们现在有自己的组件库了,但是单纯靠我们的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: true
actionText: 欢迎 →
actionLink: /component/numberInput
features:
- title: 组件库
details: 基于element-ui搭建的组件库
---
然后在docs文件夹下面,新增文件夹和文件,路径是:.vuepress/config.js,这是对整个vuepress项目进行配置的地方,配置一下(后期我们的webpack也可以在这里进行配置)
module.exports = {
title: 'ui',
description: '一个我们的内部组件库',
port: '8888',
base: '/',
// 主题配置
themeConfig: {
// 头部导航条,自己定义url
nav: [{
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.js
themeConfig: {
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',
]
}
]
}
]
},
这样配置成功后,我们就可以写一个组件的文档了,请看下一篇
创建一个组件文档