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

vue3项目中内嵌vuepress工程两种实现方式

目录

  • 一、示例
  • 二、创建vuepress工程
  • 三、配置vue项目的打包命令
  • 四、 通过iframe嵌套实现过程
  • 五、 将vue项目打包,启本地服务运行index.html

一、示例

vue项目,点击用户手册按钮,通过a标签跳转到vuepress框架搭建的页面。点击后者通过路由跳转,iframe实现。

在这里插入图片描述
在这里插入图片描述

二、创建vuepress工程

1、通过官网生成vuepress工程(注:若运行报错,需升级node版本20+,官网提供的18参考有误),config文件的配置如下:

import { viteBundler } from '@vuepress/bundler-vite'
import { defaultTheme } from '@vuepress/theme-default'
import { defineUserConfig } from 'vuepress'

export default defineUserConfig({
  description: '使用说明',
  dest: '../public/docs', // 打包路径为vue项目的public下
  base: '/docs/',
  lang: 'zh-CN',
  bundler: viteBundler({
    viteOptions: {},
    vuePluginOptions: {},
  }),
  theme: defaultTheme({
    navbar: false,
    sidebarDepth: 3, // 包含四级<h4>标题
    sidebar: 'heading',
  }),
})

2、本项目介绍的是简单的使用说明页面,目录如下:
在这里插入图片描述
3、index.md为页面内容,media文件夹为所有图片
使用说明的内容是产品给的word通过pandoc转的md。具体步骤可参考word转md的方法

三、配置vue项目的打包命令

package.json的scripts:其中执行npm run build:witgDocs可一步到位,完成打包。若执行npm run build,则先需要在vuepress工程下执行打包命令npm run docs:build,再在vue项目执行npm run build
(ps: build:withDocs实质上是切换目录,执行打包,切换目录再打包)

 { 
 "scripts": {
    "dev": "vite",
    "build": "vite build",
    "build:withDocs": "cd docs & npm run docs:build & cd .. & vite build",
    "preview": "vite preview"
  }
 }

vue项目的按钮,本地运行vue项目,需要先将vuepress项目打包到public下
在这里插入图片描述

四、 通过iframe嵌套实现过程

1、router.js文件

import { createRouter, createWebHashHistory } from "vue-router";

const router = createRouter({
  history: createWebHashHistory(),
  routes: [
    {
      path: "/",
      name: "home",
      component: () => import("@/page/index.vue"),
    },
    {
      path: "/use",
      name: "use",
      component: () => import("@/page/components/use.vue"),
    },
  ],
});

export default router;

2、use.vue页面

<template>
  <div class="container">
    <iframe
      src="docs/index.html"
      frameborder="0"
      height="100%"
      width="100%"
      allow="fullscreen"
    ></iframe>
    <!-- 用户手册 -->
  </div>
</template>

<script setup>
</script>

五、 将vue项目打包,启本地服务运行index.html

vue项目打包后的index.html不能直接打开,直接运行会出现空白。因此,通过express搭建本地服务器
1、在dist 路径下,安装express

 npm install express

2、在dist文件中添加服务器app.js文件

var express = require("express");
var app = express();
const hostname = "localhost";
const port = 8080;
// Express 提供了内置的中间件 express.static 来设置静态文件
app.use(express.static("./"));
app.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}`);
});

3、命令行或是在终端运行(如右键git bash或vscode)

node app.js

http://www.kler.cn/a/394087.html

相关文章:

  • Tomcat 和 Netty 的区别及应用场景分析
  • 【121. 买卖股票的最佳时机】——贪心算法/动态规划
  • C#发票识别、发票查验接口集成、电子发票(航空运输电子行程单)
  • 限流算法(令牌通漏桶计数器)
  • 【stable diffusion部署】超强AI绘画Stable Diffusion,本地部署使用教程,完全免费使用
  • 类别变量分析——卡方独立性检验卡方拟合优度检验
  • 构建现代 Python Web 应用的最佳实践:从 FastAPI 到 Tortoise ORM20241113
  • div加4个角边框 css
  • 从0开始学docker (每日更新 24-11-11)
  • 信号保存和信号处理
  • 修改yolo格式的labels类别、删除yolo格式的labels类别
  • redis7.x源码分析:(1) sds动态字符串
  • 【回溯法】——组合总数
  • 【AI技术】GPT-SoVits训练日志
  • 蓝桥杯——杨辉三角
  • 【PGCCC】Postgresql 物理流复制
  • 设计模式之工厂模式,但是宝可梦
  • 【Node.js]
  • TCON 相关知识
  • Git - 命令杂谈 - merge、rebase和cherry-pick
  • git修改当前分支名称并推送到远程仓库
  • 【新手友好】用Pyspark和GraphX解析复杂网络数据
  • 【数据分享】中国食品工业年鉴(1984-2023) PDF
  • 确保HTML邮件兼容所有PC和移动设备的样式
  • Vue Canvas实现区域拉框选择
  • Jmeter中的配置原件(五)