Vite & Vue 支持的静态站点生成器,一款非常实用的开源项目

Vitepress 是一款基于Vite 的静态站点生成工具。开发的初衷就是为了建设 Vue 的文档。Vitepress 的方便之处在于,可以使用流行的 Markdown 语法进行编写,也可以直接运行 Vue 的代码。也就是说,它能很方便地完成展示组件 Demo 的任务。

使用 Vitepress 作为文档建设工具还有另外一个好处。由于 Vitepress 是基于 Vite 的,所以它也很好的继承了 Bundless 特性,开发的代码能以“秒级”速度在文档中看到运行效果,完全可以充当调试工具来使用。所以通常情况下我开发组件时,就会直接选择在 Vitepress 上进行调试。这个开发方式大家也可以尝试一下。

知识点

  • 利用 Vitepress 搭建生成文档网站

  • 引用组件并展示到 Demo

  • 引入代码示例提高阅读体验

【task1】搭建Vitepress生成文档网站

安装开发依赖

pnpm i vitepress -D

配置vitepress的vite配置

默认 Vitepress 是无需配置 vitepress.config.ts 的,但是组件库中需要支持 JSX 语法与 Uno CSS,所以就需要添加配置文件。

文件名:docs/vite.config.ts

import { defineConfig } from "vite";
import vueJsx from "@vitejs/plugin-vue-jsx";
import Unocss from "../config/unocss";
// https://vitejs.dev/config/

export default defineConfig({
  plugins: [
    // 添加JSX插件
    vueJsx(),
    Unocss(),
  ],
    // 这里变更一下端口
  server: {
    port3000
  }
});

创建文档首页

文件名:docs/index.md

## hello Vitepress

const str:string = "hello vitepress"

增加文档启动脚本

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

运行文档站点

pnpm docs:dev

在浏览器查看结果

vitepress v1.0.0-alpha.28

  ➜  Local:   http://localhost:3000/
  ➜  Network: use --host to expose

在这里报了一个错误:

[unocss] entry module not found, have you add `import 'uno.css'in your main entry?

这里重启一下 项目。至此vitePress测试成功。

【task2】引用组件并展示到 Demo

构建docs目录

docs
 |--- .vitepress
 |  |--- theme
 |  |     |--- index.ts
 |  |--- config.ts
 |--- components
 |      |--- button
 |      |      |--- index.md
 |      |--- index.md
 |      | ...
 |--- index.md
 |--- vite.config.ts

子菜单所对应的 markdwon 文件路径(默认页面 index.md)

配置菜单项

文件名:docs/.vitepress/config.ts

const sidebar = {
  '/': [
    {
      text'Guide',
      items: [
        { text'快速开始'link'/' }, 
        { text'通用'link'/components/button/' }, 
      ]
    }
  ]
}
const config = {
  themeConfig: {
    sidebar,
  }
}
export default config

在主题中引入组件

文件名:docs/.vitepress/theme/index.ts

import Theme from 'vitepress/dist/client/theme-default/index.js'
import SmartyUI from '../../../src/entry'

export default {
  ...Theme, // 默认主题
  enhanceApp({ app }) {
    app.use(SmartyUI)
  },
}

编写组件文档

文件名:docs/components/button/index.md

# Button 按钮

  <div style="margin-bottom:20px;">
    <SButton color="blue">主要按钮</SButton>
    <SButton color="green">绿色按钮</SButton>
    <SButton color="gray">灰色按钮</SButton>
    <SButton color="yellow">黄色按钮</SButton>
    <SButton color="red">红色按钮</SButton>
  </div>

重启文件站点

pnpm docs:dev

浏览器查看结果

vitepress v1.0.0-alpha.28

  ➜  Local:   http://localhost:3000/
  ➜  Network: use --host to expose
Vite & Vue 支持的静态站点生成器,一款非常实用的开源项目

【task3】引入组件代码提高阅读

修改sidebar

文件名:docs/.vitepress/config.ts

const sidebar = {
  '/': [
    {
      text'Guide',
      items: [
        { text'快速开始'link'/' }, 
        { text'通用'link'/components/button/' }, 
      ]
    },
    {
      text'Components',
      items: [
        { text'组件'link'/components/' },
        { text'按钮'link'/components/button/' }, 
      ]
    }
  ]
}

常用操作按钮

基础的函数用法

 <div style="margin-bottom:20px;">
    <SButton color="blue">主要按钮</SButton>
    <SButton color="green">绿色按钮</SButton>
    <SButton color="gray">灰色按钮</SButton>
    <SButton color="yellow">黄色按钮</SButton>
    <SButton color="red">红色按钮</SButton>
  </div>


  <div style="margin-bottom:20px;">
    <SButton color="blue"  icon="search">搜索按钮</SButton>
    <SButton color="green"  icon="edit">编辑按钮</SButton>
    <SButton color="gray"  icon="check">成功按钮</SButton>
    <SButton color="yellow"  icon="message">提示按钮</SButton>
    <SButton color="red"  icon="delete">删除按钮</SButton>
  </div>
  <div style="margin-bottom:20px;">
    <SButton color="blue"  icon="search"></SButton>
    <SButton color="green"  icon="edit"></SButton>
    <SButton color="gray"  icon="check"></SButton>
    <SButton color="yellow"  icon="message"></SButton>
    <SButton color="red"  icon="delete"></SButton>
  </div>

使用sizecolorpainround属性来定义 Button 的样式。

<template>
<div style="margin-bottom:20px;">
<SButton color="blue">主要按钮</SButton>
<SButton color="green">绿色按钮</SButton>
<SButton color="gray">灰色按钮</SButton>
<SButton color="yellow">黄色按钮</SButton>
<SButton color="red">红色按钮</SButton>
</div>


<div style="margin-bottom:20px;">
<SButton color="blue" icon="search">搜索按钮</SButton>
<SButton color="green" icon="edit">编辑按钮</SButton>
<SButton color="gray" icon="check">成功按钮</SButton>
<SButton color="yellow" icon="message">提示按钮</SButton>
<SButton color="red" icon="delete">删除按钮</SButton>
</div>
<div style="margin-bottom:20px;">
<SButton color="blue" icon="search"></SButton>
<SButton color="green" icon="edit"></SButton>
<SButton color="gray" icon="check"></SButton>
<SButton color="yellow" icon="message"></SButton>
<SButton color="red" icon="delete"></SButton>
</div>

</template>

图标按钮

带图标的按钮可增强辨识度(有文字)或节省空间(无文字)。

<div class="flex flex-row">
    <SButton icon="edit" plain></SButton>
    <SButton icon="delete" plain></SButton>
    <SButton icon="share" plain></SButton>
    <SButton round plain icon="search">搜索</SButton>
  </div>

设置 icon 属性即可,icon 的列表可以参考 Elementicon 组件,也可以设置在文字右边的 icon ,只要使用 i 标签即可,可以使用自定义图标。

<template>
<div class="flex flex-row">
<SButton icon="edit" ></SButton>
<SButton icon="delete" ></SButton>
<SButton icon="share" ></SButton>
<SButton icon="search">搜索</SButton>
</div>
</template>

重启文档站点

pnpm docs:dev

在浏览器查看效果

Vite & Vue 支持的静态站点生成器,一款非常实用的开源项目

开源地址

  • https://github.com/vuejs/vitepress
来源:blog.csdn.net/qq_36362721/
article/details/127827721
后端专属技术群

构建高质量的技术交流社群,欢迎从事编程开发、技术招聘HR进群,也欢迎大家分享自己公司的内推信息,相互帮助,一起进步!

文明发言,以交流技术职位内推行业探讨为主

广告人士勿入,切勿轻信私聊,防止被骗

Vite & Vue 支持的静态站点生成器,一款非常实用的开源项目
加我好友,拉你进群

原文始发于微信公众号( Java笔记虾): Vite & Vue 支持的静态站点生成器,一款非常实用的开源项目

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/146522.html

(0)
小半的头像小半
0 0

相关推荐

  • 新来技术总监:Python项目不要再使用requirements.txt!谁用谁立马滚蛋! Python

    新来技术总监:Python项目不要再使用requirements.txt!谁用谁立马滚蛋!

    0 0213
    葫芦侠五楼的头像 葫芦侠五楼
    2024年3月26日
  • 使用 @Autowired 为什么会被 IDEA 警告,应该怎么修改最佳? Java知音

    使用 @Autowired 为什么会被 IDEA 警告,应该怎么修改最佳?

    0 0263
    小半的头像 小半
    2023年3月21日
  • 云原生之在Docker环境下部署Atheos云IDE平台 技术漫谈

    云原生之在Docker环境下部署Atheos云IDE平台

    0 0180
    小半的头像 小半
    2024年3月12日
  • Facebook 开源的跨平台、高度可扩展、兼容 Git 的源码控制系统 - Sapling 开源速递

    Facebook 开源的跨平台、高度可扩展、兼容 Git 的源码控制系统 – Sapling

    0 0237
    小半的头像 小半
    2023年3月3日
  • 并发编程 5:注意!Java线程必考的知识点来了 并发编程

    并发编程 5:注意!Java线程必考的知识点来了

    0 0210
    小半的头像 小半
    2022年10月4日
  • 使用 EasyPoi 完成复杂一对多 excel 表格导出功能 Java知音

    使用 EasyPoi 完成复杂一对多 excel 表格导出功能

    0 0323
    小半的头像 小半
    2022年12月1日
  • 增强Spring — 改造 @CacheEvict,支持缓存批量模糊删除 Java知音

    增强Spring — 改造 @CacheEvict,支持缓存批量模糊删除

    0 0451
    小半的头像 小半
    2023年8月14日
  • 20 个顶级的 Vue 组件库 前端开发

    20 个顶级的 Vue 组件库

    0 0497
    小半的头像 小半
    2022年9月22日
  • 如何利用 IPv6 免费把自己电脑变成服务器 Windows

    如何利用 IPv6 免费把自己电脑变成服务器

    0 0293
    小半的头像 小半
    2024年4月1日
  • 软件研发改进中如何定义出让人信服的问题 架构设计

    软件研发改进中如何定义出让人信服的问题

    0 0190
    小半的头像 小半
    2022年8月17日
  • 【Vue】ref,reactive 响应式引用的用法和原理 (2) 微信精选

    【Vue】ref,reactive 响应式引用的用法和原理 (2)

    0 0149
    小半的头像 小半
    2023年2月15日
  • 线程池中线程抛了异常,该如何处理? Java

    线程池中线程抛了异常,该如何处理?

    0 0195
    小半的头像 小半
    2022年10月24日

发表回复

登录后才能评论

扫我!扫我!扫码!

Vite & Vue 支持的静态站点生成器,一款非常实用的开源项目

站长精选

  • 松耦合式的权限控制设计,自定义权限表达式yyds!

    松耦合式的权限控制设计,自定义权限表达式yyds!

    2022年12月12日

  • 真·Redis缓存优化实践——97%的优化率你见过嘛?

    真·Redis缓存优化实践——97%的优化率你见过嘛?

    2023年10月30日

  • 一位老程序员的忠告:别想着靠技术生存一辈子

    一位老程序员的忠告:别想着靠技术生存一辈子

    2023年6月29日

  • 在 Linux 中虚拟机安装运行 MacOS

    在 Linux 中虚拟机安装运行 MacOS

    2024年9月1日

  • EasyExcel 导出数据超过 Excel 单表上限了,该怎么办???

    EasyExcel 导出数据超过 Excel 单表上限了,该怎么办???

    2023年2月23日

  • 一个注解实现 WebSocket 集群方案,这样玩才爽!

    一个注解实现 WebSocket 集群方案,这样玩才爽!

    2023年4月4日

  • Spring事务畅谈:深入讨论一下 @Transactional 注解

    Spring事务畅谈:深入讨论一下 @Transactional 注解

    2023年9月17日

  • 一边是计算机就业哀鸿遍野,一边是高考生疯狂涌向计算机专业,太魔幻了!

    一边是计算机就业哀鸿遍野,一边是高考生疯狂涌向计算机专业,太魔幻了!

    2024年7月17日

  • 只需20个Linux命令,让你的工作效率翻倍!

    只需20个Linux命令,让你的工作效率翻倍!

    2024年9月18日

  • 号称取代 Elasticsearch,太猛了!

    号称取代 Elasticsearch,太猛了!

    2023年12月22日

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!

深圳坪山网站建设公司高港区网站优化费用绍兴做网站优化邹平优化网站推广广宁seo网站优化鹤壁百度网站优化哪家价格便宜网站排名优化首选北京华网天下漕河泾开发区网站建设优化推广网站优化过程表格 详细版优化的文章要放网站首页吗滕州网站优化从网站看哪个公司做的优化莱芜网站优化营商dede网站的优化面花溪区网站优化营销网站的优化方向兴平网站优化排名SEO推广整站搜索网站排名优化项城网站优化推广方案温州优化网站价格网站优化和搜索引擎竞价分析新乡长垣网站优化河北家纺行业网站优化推广价格洛阳品牌网站优化托管海南专业的网站关键词优化网站综合优化怎么选固安网站优化多少钱金华网站优化关键词优化济源鹤壁网站优化武汉网站关键字优化搜索优化能为网站带来哪些好处香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化