vuepress 打包后左侧菜单链接 404 问题解决办法

news2024/11/27 0:28:43

背景

上周看到一本开源书 《深入架构原理与实践》,是基于 vuepress 搭建的,下载了源码,本地部署了一下,本文记录如何打包该源码遇到的路径问题及思考。

结论: vuepress 插件的 sideBar 的菜单路径默认是相对 / 的,并且是由 .vuepress/config.jsbase 属性控制,打包时需要按需要修改,开发环境下不能设置

环境准备

  1. node 18.0.0,版本过低的话,需要先安装版本管理工具 n ,再执行 n 18.0.0 安装合适的版本。
  2. yarn
  3. Tomcat
  4. Git

下载源码,执行安装和打包操作:

  1. git clone https://github.com/isno/theByteBook.git && cd theByteBook
  2. yarn install
  3. yarn dev
  4. yarn build

直接用源码打包后在 .vuepress 目录下生成 dist 文件夹,就是开源书《深入架构原理与实践》的静态资源。

应用部署

该项目默认的静态文件路径是相对于 / 的,直接将 build 后的静态目录 dist 放到 tomcat/webapps 下访问,会出现 404,页面的静态资源路径都不正确,有两种解决方法。

第一种,直接把 dist 重命名为 ROOT ,作为 tomcat 的根应用后,就能正常访问了。
在这里插入图片描述
第二种,修改 vue 打包路径的 publicpath 和 vuepress 配置的 base 属性。

第一步,在工程的根目录、与 package.json 同级别的目录下,创建一个名为 vue.config.js 的打包配置文件,输入配置内容:

module.exports = {
 publicpath: './',
 assetsdir: 'static',
 parallel: false
}

第二步,进入 .vuepress 目录,修改 config.js 在配置开头添加一个 base 属性,感谢《这篇文章》 的启发,试了一下果然可以。
在这里插入图片描述

重新执行 yarn build 打包后,直接将 dist 放到 tomcat 的 webapps 下访问首页正常:
在这里插入图片描述

个人思考

第一点,是关于 vuepress 插件的,它配置的 sideBar 的菜单路径默认是相对 / 的,它是由 .vuepress/config.jsbase 属性控制的:
在这里插入图片描述

如果应用部署的时候不是 ROOT 根目录的话,就需要配置这个路径与发布的应用目录名称一致,这里是 dist :
在这里插入图片描述
第二点,用 vuepress 搭建个人博客还是挺不错的,一个配置文件就搞定了,只需要专注编写内容的 md 文件,想到一个用途就是用它来搭建知识文档库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1177533.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python学习笔记--类的继承

七、类的继承 1、定义类的继承 说到继承,你一定会联想到继承你老爸的家产之类的。 类的继承也是一样。 比如有一个旧类,是可以算平均数的。然后这时候有一个新类,也要用到算平均数,那么这时候我们就可以使用继承的方式。新类继…

牛客出bug(华为机试HJ71)

Hj71:字符串通配符 描述 问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。 要求: 实现如下2个通配符: *:匹配0个…

318. 最大单词长度乘积

318. 最大单词长度乘积 难度: 中等 来源: 每日一题 2023.11.06 给你一个字符串数组 words ,找出并返回 length(words[i]) * length(words[j]) 的最大值,并且这两个单词不含有公共字母。如果不存在这样的两个单词,返回 0 。 示例 1&…

新版Helix QAC 100%覆盖MISRA C++:2023

Helix QAC 2023.3预期将100%覆盖在2023年第四季度发布的新的MISRA C:2023规则。 此外,该版本支持更多的C20语言特性,并改进了Perforce Validate平台和Helix QAC与Validate的集成,以及其他质量改进。 编码标准覆盖率(MISRA C:202…

JDK设置编码格式UTF-8

Windows中安装的JDK默认编码格式是GBK 需要修改为UTF-8.在系统中添加系统变量 环境变量 变量名:JAVA_TOOL_OPTIONS 变量值:-Dfile.encodingUTF-8

UE问题盘点

打包后运行时应用程序崩溃 GPU崩溃(Timed out waiting for RenderTread after 120.00 secs) 分析&解决: 像素流送模式,部署机无显示器无分辨率所致(接显示器或显卡欺骗器)项目设置Targeted RHIs为Di…

七种事务传播行为,核心只有Required默认和required_new

事务的概念:当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行事务控制。 结论:一般情况下,你就用默认的把两个事务合并成一个事务,只有当写日志(事物之间不互相影响)的时候用req…

部署kubevirt教程

前提条件 已安装:kubernetes集群、kubectl、docker apt install -y qemu-kvm libvirt virt-install bridge-utils 【所有节点全部安装】 virt-host-validate qemu部署kubevirt 下载kubevirt-cr.yaml和kubevirt-operator.yaml 先执行: Kubectl apply …

大型企业效率革命:从数字化应用提升到信息化管理平台升级-亿发

数字化转型本质上是一场企业效率的革命,它以连接效率、数据效率和决策效率为核心。所有的转型活动都与人的参与和贡献紧密相关。因此,如何利用数字化手段提升全体员工的数字化应用能力,从而加速商业创新和实现高质量发展,成为管理…

Python武器库开发-常用模块之re模块(十八)

常用模块之re模块(十八) 在Python中需要通过正则表达式对字符串进⾏匹配的时候,可以使⽤⼀个python自带的模块,名字为re模块 我们可以在Python中使用以下的语句,导入re模块: import re正则表达式的大致匹配过程是: …

mybatis在springboot当中的使用

1.当使用Mybatis实现数据访问时,主要: - 编写数据访问的抽象方法 - 配置抽象方法对应的SQL语句 关于抽象方法: - 必须定义在某个接口中,这样的接口通常使用Mapper作为名称的后缀,例如AdminMapper - Mybatis框架底…

petalinux 2022.2 在 ubantu18.04 下的安装

下载 Ubuntu下载: https://releases.ubuntu.com/18.04/ubuntu-18.04.6-desktop-amd64.iso petalinux 下载: https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools/2022-2.html 安装虚拟机 安装…

leetcode2054

leetcode 2054 #include <iostream> #include <vector> #include <tuple> #include <algorithm>using namespace std;struct Event {// 时间戳int ts;// op 0 表示左边界&#xff0c;op 1 表示右边界int op;int val;Event(int _ts, int _op, int _v…

淘宝婴儿用品购买情况分析报告

一.分析背景和目的 随着购物网站的发展&#xff0c;人们的网络购物行为占比也快速增加。为了能够获取更多的用户&#xff0c;提升商家的销售量&#xff0c;需要从产品和用户不同的角度进行分析&#xff0c;进而得到有价值的信息&#xff0c;指导商家进行获客和营销。本文就以淘…

行情分析——加密货币市场大盘走势(11.6)

大饼昨日下跌过后开始有回调的迹象&#xff0c;现在还是在做指标修复&#xff0c;大饼的策略保持逢低做多。稳健的依然是不碰&#xff0c;目前涨不上去&#xff0c;跌不下来。 以太周五给的策略&#xff0c;入场的已经止盈了&#xff0c;现在已经达到1884&#xff0c;已经全部吃…

Qwt 使用QwtCompass绘制指南针

1.概述 QwtCompass是Qwt库中的一个类&#xff0c;用于绘制一个指南针样式的仪表盘。它是基于QwtDial类的衍生类&#xff0c;提供了一些额外的功能和样式&#xff0c;用于显示方向和角度。 以下是类继承关系&#xff1a; ​ 2.常用方法 void setScaleArc (double minArc, dou…

6张图让你了解openRA 下载及编译

下面的3张图是免费赠送的用vs解决方案编译的方法

C语言每日一题(24)回文素数题解

BC158 [NOIP1999]回文数 题目描述 若一个数&#xff08;首位不为零&#xff09;从左向右读与从右向左读都一样&#xff0c;我们就将其称之为回文数。 例如&#xff1a;给定一个10进制数56&#xff0c;将56加65&#xff08;即把56从右向左读&#xff09;&#xff0c;得到121是…

MoeCTF 2023 Reverse题解

Reverse入门指北 搜索main函数跟进 双击跟进aMoectfF1rstSt3 得到flag base_64 python反编译 - Online Tools 使用在线软件反编译 就是一个变换编码表的base64加密 直接用现有的工具解密 UPX! 查壳&#xff0c;加了UPX壳&#xff0c;直接用官网工具脱壳 打开字符串窗口&am…

网络安全(黑客)-0基础小白自学

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高&#xff1b; 二、则是发展相对成熟…