当前位置: 首页 > news >正文

基于VuePress2开发文档自部署及嵌入VUE项目

最近在搞前端开发帮助文档,转了一圈发现Vue提供了一个高性能的、Vue驱动的静态网站生成框架-VuePress。VuePress 是一个以 Markdown 为中心的静态网站生成器。你可以使用 Markdown 来书写内容(如文档、博客等),然后 VuePress 会生成一个静态网站来展示它们。废话不多说了,直接上手!

项目配置

项目基础配置我是参考的这篇文章-https://www.cnblogs.com/wangdashi/p/16308107.html,大家可以按他的步骤一一配置,我只说一下一些新的配置:

展示UI组件

1.配置组件库

在docs/.vuepress/client.js文件中引入ElementPlus组件库,然后挂载在Vue上。

import { defineClientConfig  } from '@vuepress/client'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'export default defineClientConfig ({enhance({ app }){// app 是由 createApp 创建的 Vue 应用实例app.use(ElementPlus)}
})

2.自动导入UI

首先安装 @vuepress/plugin-register-components 插件

npm add @vuepress/plugin-register-components@next -D

在docs/.vuepress/config.js文件配置一下:

plugins: [[ registerComponentsPlugin({componentsDir: path.resolve(__dirname, './components'),})]]

然后在components/下创建vue组件文件:

<template><div class="example-basic"><el-time-picker v-model="value1" placeholder="Arbitrary time" /><el-time-pickerv-model="value2"arrow-controlplaceholder="Arbitrary time"/></div>
</template><script lang="ts" setup>
import { ref } from 'vue'const value1 = ref()
const value2 = ref()
</script><style>
.example-basic .el-date-editor {margin: 8px;
}
</style>

最后在md文件中直接引用组件文件名:

<TimePicker></TimePicker>

效果:

GitHub部署

我是一键部署到 gh-pages 分支,然后实现部署。

1.配置base

config.js文件里的base,必须跟你的仓库名一致!!

export default defineUserConfig({bundler: viteBundler(),lang: 'zh-CN',title: '帮助中心',description: '产品使用帮助文档',base: '/Your repository/',
}

2.配置gh-pages

先安装

npm install --save-dev gh-pages

package.json 加脚本:

  "scripts": {"docs:dev": "vuepress dev docs","docs:build": "vuepress build docs","deploy": "npm run docs:build && gh-pages -d docs/.vuepress/dist -b gh-pages"}

运行部署:

npm run deploy

gh-pages 会把 docs/.vuepress/dist 的内容推到仓库的 gh-pages 分支(自动建立),部署完一般可通过 https://USERNAME.github.io/REPO/ 访问(几分钟生效)。

  1. 在 GitHub 仓库设置(一般自动):

  • 到 Repo → Settings → Pages,查看 Source 是否为 gh-pages branch。如果不是,手动设置为 gh-pages 即可。

3.自动更新

部署成功之后再修改内容,提交仓库后再使用部署命令即可实现更新。

部署成功,欢迎点击链接查看:帮助中心

嵌入VUE项目

嵌入已有的项目可以使用多种方法:

1.将文档项目部署后直接在已有项目中使用链接打开;

2.将文档项目打包然后放进现有项目中的/public/docs目录下,然后在 Vue3 中使用 <iframe> 嵌入:

<template><iframe src="/docs/index.html" style="width:100%;height:100vh;border:none;"></iframe>
</template>
http://www.lryc.cn/news/615839.html

相关文章:

  • vue如何监听localstorage
  • Vue 3 快速入门 第五章
  • vue2升级vue3:单文件组件概述 及常用api
  • Vue.js设计于实现 - 响应式(三)
  • (LeetCode 面试经典 150 题) 104. 二叉树的最大深度 (深度优先搜索dfs)
  • 深入解析微服务分布式事务的原理与优化实践
  • 双非二本如何找工作?
  • CPP继承
  • 40.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--扩展功能--集成网关--初始化网关
  • 【递归、搜索与回溯算法】递归算法
  • 【前端基础】14、CSS设置背景(background相关的)
  • Unity中实现自动寻路
  • 串口通信初始化过程是怎样的???
  • 每日五个pyecharts可视化图表-line:从入门到精通 (2)
  • go语言运算符
  • H3C(基于Comware操作系统)与eNSP平台(模拟华为VRP操作系统)的命令差异
  • GPT OSS深度解析:OpenAI时隔6年的开源模型,AI民主化的新里程碑?
  • 【递归、搜索与回溯算法】深度优先搜索
  • python Flask简单图书管理 API
  • 从Redisson源码角度深入理解Redis分布式锁的正确实现
  • Lua基础+Lua数据类型
  • Hadoop MapReduce过程
  • nginx+Lua环境集成、nginx+Lua应用
  • 分享一个基于Python和Hadoop的的电信客户特征可视化分析平台 基于Spark平台的电信客服数据存储与处理系统源码
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘mlflow’问题
  • leetcode2379:得到K个黑块的最少涂色次数(定长滑动窗口)
  • Boost.Asio io_service 与 线程 的分析
  • 字节:计算机存储单位
  • 算术运算符指南
  • 企业级WEB应用服务器TOMCAT — WEB技术详细部署