位置: IT常识 - 正文

使用VitePress搭建及部署vue组件库文档(virtono搭建教程)

发布时间:2024-01-29
每个组件库都有它们自己的文档。所以当我们开发完成我们自己的组件库必须也需要一个组件库文档。如果你还不了解如何搭建自己的组件库可以看这里->从零搭建Vue3组件库。看完这篇文章你就会发现原来搭建和部署一个组件库文档是那么的简单。当然部署也不需要你有自己的服务器,你只要有github即可。由于我们的组件 ...

推荐整理分享使用VitePress搭建及部署vue组件库文档(virtono搭建教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vite搭建vue3,vijos搭建,vijos搭建,vtrul vps搭建教程,virtono搭建教程,virtono搭建教程,搭建vcenter,vite搭建项目,内容如对您有帮助,希望把文章链接给更多的朋友!

每个组件库都有它们自己的文档。所以当我们开发完成我们自己的组件库必须也需要一个组件库文档。如果你还不了解如何搭建自己的组件库可以看这里->从零搭建Vue3组件库。看完这篇文章你就会发现原来搭建和部署一个组件库文档是那么的简单。当然部署也不需要你有自己的服务器,你只要有github即可。由于我们的组件库还没有完成,所以下面就以element-plus作为示例来搭建一个文档吧。

安装vitepress

首先新建文件夹就叫kittydocs,执行pnpm init初始化,然后安装vitepress

pnpm add vitepress -D

在package.json添加一些script

"scripts": { "docs:dev": "vitepress dev docs", "docs:build": "vitepress build docs", "docs:serve": "vitepress serve docs" }

安装组件库element-plus

pnpm i element-plus -S目录结构

新建kittydocs目录,其中文件结构如下图

.vitepress/config.js为配置文件.vitepress/theme/index.js为自定义主题examples作为为组件示例目录public是公共文件目录index.md则是组件库文档的首页gulild放我们组件指南文档文档首页

首先我们按照官网的样式给我们组件库整个首页,在index.md文件中写入

---layout: hometitle: KittytitleTemplate: 一个Vue3组件库hero: name: Kitty text: 一个Vue3组件库 tagline: 没啥特点仅供学习 image: src: /logo.png alt: Kitty actions: - theme: brand text: 开始 link: /guide/ - theme: alt text: 在 Gitee 上查看 link: https://gitee.com/geeksdidi/kittyuifeatures: - icon: ? title: Vue3组件库 details: 基于vite打包和TypeScript开发 - icon: ? title: 仅供学习使用 details: 倾向于Vue3组件库的学习,请勿用于实际生产项目 - icon: ?️ title: 按需引入 details: 直接支持按需引入无需配置任何插件。---

然后pnpm run docs:dev启动我们的项目,我们就可以看到这样的画面

是不是感觉已经有点组件库文档的意思了。接下来对导航栏以及我们们文档的侧边栏进行一个配置。

配置导航栏配置export default { themeConfig: { siteTitle: false, logo: "/logo.png", nav: [ { text: "指南", link: "/guild/installation" }, { text: "组件", link: "/examples/button/" }, ], socialLinks: [{ icon: "github", link: "https://gitee.com/geeksdidi" }], },}

我们在config.js中配置我们的logo、导航栏以及社交链接。此时我们的导航栏便配置完成

侧边栏

首先我们对指南的侧边栏做一个配置

sidebar: { "/guild/": [ { text: "基础", items: [ { text: "安装", link: "/guild/installation", }, { text: "快速开始", link: "/guild/quickstart", }, ], }, { text: "进阶", items: [ { text: "xx", link: "/xx", }, ], }, ], },

同时我们在guild目录下新建installation.md和quickstart.md文件。接下来分别在这两个文件中介绍我们组件库的安装以及使用(这里将Element Plus当作我们自己的组件KittyUI)

installation.md# 安装## 环境支持由于 Vue 3 不再支持 IE11,KittyUI 也不再支持 IE11 浏览器。## 版本Element Plus 目前还在开发迭代中## 使用包管理器建议您使用包管理器 (NPM, Yarn, pnpm) 安装 KittyUI, 然后您就可以使用打包工具,例如 Vite 和 webpack# 选择一个你喜欢的包管理器# NPM$ npm install kitty-ui --save# Yarn$ yarn add kitty-ui# pnpm$ pnpm install kitty-ui## 浏览器直接引入暂不支持quickstart.md# 快速开始本节将介绍如何在项目中使用 KittyUI## 用法...<template> <Button>按钮</Button></template><script setup> import { Button } from 'kitty-ui'</script>...

这时候我们文档的效果如下

使用VitePress搭建及部署vue组件库文档(virtono搭建教程)

接下来我们对组件的侧边栏做一个配置,和指南一样,我们只需要在sidebar下再加个/examples/路径即可

"/examples/": [ { text: "基础组件", items: [ { text: "Button按钮", link: "/examples/button/", }, { text: "Icon图标", link: "/examples/Icon/", }, ], }, ],

vitepress中markdown文件中是可以直接使用vue组件的,我们先在theme/index全局引入element-plus

// .vitepress/theme/index.jsimport DefaultTheme from "vitepress/theme";import "element-plus/dist/index.css";export default { ...DefaultTheme, enhanceApp: async ({ app, router, siteData, isServer }) => { // app is the Vue 3 app instance from `createApp()`. router is VitePress' // custom router. `siteData`` is a `ref`` of current site-level metadata. import("element-plus").then((module) => { app.use(module); }); },};

这里我们拿Button做一个演示,在button/index.md中我们可以直接这样使用Button组件

<el-button>默认按钮</el-button><br/><br/><el-button>默认按钮</el-button><br/><br/><el-button type="primary">主要按钮</el-button><br/><br/><el-button type="success">成功按钮</el-button><br/><br/><el-button type="info">信息按钮</el-button>

此时我们页面即可展示我们的Button按钮

基于此,我们便可以轻松使用markdown文件的形式来编写我们的组件使用文档了。代码有点长,这里就贴一部分代码展示与隐藏的实现部分

完整的md文档你可以点击 index.md 直接查看。最后展示效果如下

其它组件实现方法基本一致,这里就不再一一实现了,接下来就是将我们的组件库文档部署到github的静态服务上了

部署到GitHub Pages

既然要部署到GitHub Pages,你得先在github新建一个仓库,因为要用他的GitHub Pages,所以仓库命名为username.github.io的形式,username是你github的用户名。然后点击设置

选择pages

这里设置根目录/(root),当然也可以选择其它目录,点击保存,如果选择其它目录比如docs,config.js就需要配置一个base

export default { base:'/docs/' }

最后选择一个主题(这里不选择我发现站点不生效,后面把打包后的代码推上来即可,会默认加载index.html)

然后将打包后的dist下的文件推送到你的远程仓库。vitepress官网给我们提供了一个脚本文件deploy.sh,我们只需要改下远程仓库即可

#!/usr/bin/env sh# 忽略错误set -e# 构建npm run docs:build# 进入待发布的目录cd docs/.vitepress/dist# 如果是发布到自定义域名# echo 'www.example.com' > CNAMEgit initgit add -Agit commit -m 'deploy'# 如果部署到 https://<USERNAME>.github.io# git push -f git@github.com:<USERNAME>/<USERNAME>.github.io.git master# 如果是部署到 https://<USERNAME>.github.io/<REPO># git push -f git@github.com:<USERNAME>/<REPO>.git master:gh-pagescd -

直接执行这个脚本文件,我们的打包后的文件就会被推送到我们的仓库。然后我们就可以直接访问我们的文档站点了.如果你想要自定义其它域名的话,可以创建一个组织然后在组织下新建仓库名为organization.github.io的形式(organization是你组织名)然后执行同样的操作即可。具体可以点这里创建 GitHub Pages 站点最后代码已经推送到KittyUIDocs,需要的可以自行获取

创作不易,你的点赞就是我的动力!如果感觉这篇文章对你有帮助的话就请点个赞吧,谢谢谢!!

本文链接地址:https://www.jiuchutong.com/zhishi/313185.html 转载请保留说明!

上一篇:织梦调用列表页、文章页评论数和收藏数代码(织梦相关文章调用)

下一篇:Spring(十四):SpringAOP及AOP的三种实现方法(spring10)

  • oppo手机怎么退出语音模式(oppo手机怎么退出盲人模式)

    oppo手机怎么退出语音模式(oppo手机怎么退出盲人模式)

  • 悬浮窗已开启但无显示(悬浮窗已开启但没反应)

    悬浮窗已开启但无显示(悬浮窗已开启但没反应)

  • 微信标题错了怎么补救(微信标题错了怎么办)

    微信标题错了怎么补救(微信标题错了怎么办)

  • 惠普战和星系列的区别(惠普战系列和星系列)

    惠普战和星系列的区别(惠普战系列和星系列)

  • 微信换实名认证还是原来微信吗(微信换实名认证账单怎么恢复)

    微信换实名认证还是原来微信吗(微信换实名认证账单怎么恢复)

  • 手机换屏之后自拍模糊(手机换屏之后自拍偏蓝)

    手机换屏之后自拍模糊(手机换屏之后自拍偏蓝)

  • 苹果7微信总是闪退(苹果7微信总是重启)

    苹果7微信总是闪退(苹果7微信总是重启)

  • 相机的对焦系统一般都会按照哪些规律来选择对焦点?(相机的对焦系统一般都会)

    相机的对焦系统一般都会按照哪些规律来选择对焦点?(相机的对焦系统一般都会)

  • 华为手机腾讯会议录屏为什么没有声音(华为手机腾讯会议蓝牙权限怎么开)

    华为手机腾讯会议录屏为什么没有声音(华为手机腾讯会议蓝牙权限怎么开)

  • 荣耀手环和华为手环区别(荣耀手环和华为手机匹配吗)

    荣耀手环和华为手环区别(荣耀手环和华为手机匹配吗)

  • 淘宝号可以更改实名认证吗(淘宝号可以更改实名吗)

    淘宝号可以更改实名认证吗(淘宝号可以更改实名吗)

  • 电脑上的ss接口是什么意思(电脑上的ss接口可以接耳机吗)

    电脑上的ss接口是什么意思(电脑上的ss接口可以接耳机吗)

  • 华为p30pro是什么处理器(华为p30pro是什么接口)

    华为p30pro是什么处理器(华为p30pro是什么接口)

  • 云手机是什么(沐桦云手机是什么)

    云手机是什么(沐桦云手机是什么)

  • 网关和ip地址一样吗(网关和ip地址一样影响什么)

    网关和ip地址一样吗(网关和ip地址一样影响什么)

  • 小米拦截电话在哪里设置(小米拦截电话在哪里取消设置)

    小米拦截电话在哪里设置(小米拦截电话在哪里取消设置)

  • word页码怎么设置(word页码怎么设置奇偶页不同)

    word页码怎么设置(word页码怎么设置奇偶页不同)

  • 抖音怎么拍2个角色切换(抖音怎么拍个人视频)

    抖音怎么拍2个角色切换(抖音怎么拍个人视频)

  • 如何退出移动亲情号(如何退出移动亲情网)

    如何退出移动亲情号(如何退出移动亲情网)

  • oppo手机新品reno有红外功能吗(oppo手机新品reno有红外线吗)

    oppo手机新品reno有红外功能吗(oppo手机新品reno有红外线吗)

  • 小米语言设置在哪里(小米语言设置在哪里打开)

    小米语言设置在哪里(小米语言设置在哪里打开)

  • 无法启动world wide web publishing service服务(无法启动个人热点iphone)

    无法启动world wide web publishing service服务(无法启动个人热点iphone)

  • 笔记本电脑如何开启高性能或卓越性能模式?(笔记本电脑如何恢复出厂系统)

    笔记本电脑如何开启高性能或卓越性能模式?(笔记本电脑如何恢复出厂系统)

  • 个体户定期定额征收标准
  • 非营利组织营利了怎么办
  • 小规模纳税人怎么变成一般纳税人
  • 退回股东投资款现金流量
  • 小微企业印花税减免最新政策
  • 乘车保险费
  • 未交增值税最后到哪去了
  • 定期定额户个人所得税怎么申报
  • 金蝶k3生产领料单怎么导入
  • 进项税加计扣除账务处理
  • 生产企业内销和出口
  • 债务重组的会计处理方法
  • 营业外收入期末结转
  • 可以先报税后结账吗
  • 购买商标权税率多少
  • 退货的产品会重新包装吗
  • 保险公司多赔付的钱需要退还吗
  • 研发支出是什么性质的科目
  • 核销确实无法收回的应收账款后会影响资产负债率
  • 违约金收入计入应纳税所得额吗
  • 投资收益是否缴纳印花税
  • 免税发票还可以开吗
  • 实收资本印花税最新政策2023年
  • 企业备用金用途
  • 买东西退税退的是什么税
  • 法定盈余公积是留存收益吗
  • 企业高管需要什么证书
  • 报税期间如何开发票?
  • 待摊费用当月增加
  • edge浏览器设置主页网址
  • 固定资产计提折旧的方法
  • 配置path环境变量
  • Linux系统中怎么定位到java代码的方法级
  • 股权转让有哪些股
  • 逾期未收回包装物押金会计分录
  • 领用材料已抵扣进项税
  • 长期挂账的其他应付款转营业外收入情况说明
  • 圆顶山遗址
  • 个人独资企业是小规模纳税人吗
  • vue鼠标点击事件点击改变效果,再次点击恢复效果
  • ucenter中词语过滤原理分析
  • IntersectionObserver 翻译
  • opencv图像处理入门与实践pdf
  • 税务退附加税会计分录
  • 购买员工宿舍用品报销
  • 结算备付金管理办法(2019年修订版)
  • 农业合作社需要纳税吗
  • 织梦系统如何更换网站内容
  • mysql5.7压缩包安装配置教程
  • 税务局返还手续费
  • 合并报表少数股东权益是什么
  • 教育培训业能享受补贴吗
  • 代收代付的会计分录
  • 固定资产暂估折旧怎么算
  • 航天信息服务费发票哪里打印
  • 车船税收费标准
  • 在网上订机票怎么订
  • 外贸公司出口退税实例
  • 房地产 监控
  • 基于sql server的大数据审计分析应用
  • Mysql优化sql方案
  • 连接mysql数据的四要素
  • win10系统开机出现
  • shell32.exe - shell32是什么进程 有什么用
  • isignup.exe是什么进程 isignup进程查询
  • win7系统通知
  • windows7 sp1升级包
  • win7系统升级win10系统方法
  • win10系统如何设置锁屏壁纸图片
  • shell if-z
  • unity3d常用代码总结
  • unity 3d脚本编程
  • [置顶]bilinovel
  • android4.4iso
  • 批量 update
  • jquery的插件
  • 报废车税务怎么处理
  • 人防异地建设费标准
  • 怎么绑定办税员
  • 煤矸石占地需要哪些手续
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号