vite+vue3项目中实现markdown编写UI组件文档并且预览

目前我们看到的UI库以及文档都是独立的静态站点,然而有些需求是在现有的项目中实现一个UI组件的文档,实现工作协调的方便性质,防止组员们的沟通上失误导致重复造轮子。

这里我选用了vite-plugin-doc-preview的vite插件,该插件是利用了highlight.js、marked.js来实现markdown拓展的。这里我就不细说vite-plugin-doc-preview插件的实现逻辑了,感兴趣的可以去看插件的实现逻辑。

我们先看一下最终的效果图,如下图

第一步,我们先把依赖给安装进来到项目中,执行命令

css 复制代码
npm install vite-plugin-doc-preview --save-dev

由于我是使用npm管理的,如果大家使用其它的包管理工具,就根据项目管理工具方式安装。安装完毕之后,我们进行配置

第二步,配置vite.config.ts的文件

  1. 引入插件vite-plugin-doc-preview
vite.config.ts 复制代码
import vitePluginDocPreview from 'vite-plugin-doc-preview';
  1. 配置插件,使用起来
vite.config.ts 复制代码
plugins: [
    vitePluginDocPreview()
]
  1. 配置vite处理编译的文件,否则vite是不会处理后缀为.md的文件的
vite.config.ts 复制代码
plugins: [
   vue({ include: [/\.vue$/, /\.md$/] })
]
  1. 在main.ts文件中引用插件的样式
main.ts 复制代码
import 'vite-plugin-doc-preview/style/style.css';

完成以上的配置,我们就可以开始利用markdown的方式编写我们的UI文档啦!

我们可以创建一个demo来试试看效果,创建一个docs.md的文件

注意这里的预览必须在vue preview 一对符号包含着内容才会渲染vue的组件出来,如果仅仅想显示code的时候去除vue preview就是指显示代码了。

由于我没有用到router,所以直接使用组件的方式使用。如果大家用到router的时候,可以通过import引入就可以了。

xml 复制代码
<template>
  <Docs></Docs>
</template>
<script setup lang="ts">
import Docs from '@docs/index.md';
</script>

最后就可以看到文章刚刚开始的效果了。

参考文章:blog.csdn.net/dsyuan001/a...

相关推荐
发现一只大呆瓜15 小时前
Vite 开发预构建机制详解,搞懂 esbuild 与 Rollup 分工差异
前端·面试·vite
__zRainy__2 天前
uni-app 全局容器实战系列(一):全局容器的实现
uni-app·vite
发现一只大呆瓜2 天前
Vite凭什么这么快?3分钟带你彻底搞懂 Vite 热更新的幕后黑手
前端·面试·vite
Hello--_--World3 天前
利用CDN进行首屏优化。能不能看CDN与本地服务器谁快用谁?
运维·服务器·前端·javascript·vite
Hello--_--World3 天前
为什么 用vite进行分包后,可以通过 浏览器强制缓存 提高性能?路由懒加载进行的分包与 vite进行的分包有什么不同?
前端·javascript·缓存·vite
Patrick_Wilson5 天前
Vite+ vs nvm:一次「全局 CLI 失踪」事故引出的 Node 工具链选型
node.js·vite·前端工程化
真夜5 天前
开发正常但生产异常的 Bug:Vite manualChunks 循环依赖导致 ReferenceError
前端·前端框架·vite
豹哥学前端6 天前
前端工程化实战:从包管理到 Vite 配置,一套下来全明白
前端·javascript·vite
天渺工作室8 天前
构建完自动打包压缩,一个插件搞定 Vite / Webpack / Rollup / ESBuild
webpack·vite·rollup.js
Hello--_--World9 天前
Vite:什么是bundleless?哪些要打包,哪些不要打包?依赖预构建是什么?依赖预构建如何减少网络请求的?esbuild 又是什么?
前端·javascript·webpack·vite