将 vue3 项目打包后部署在 springboot 项目运行
目录前端vite打包vite 打包路径配置打包命令可选执行打包后端springboot配置静态资源路径配置可选thymeleaf依赖转移打包文件请求返回html文件启动项目可能遇到的问题页面一刷新就404页面空白页面没有数据前端vite打包vite 打包路径配置在 vite.config.js.ts 设置开发或生产环境服务的公共基础路径base配置项这里不使用相对路径// vite.config.ts export default defineConfig({ plugins: [vue()], base:/, // 设置项目的基础路径 resolve:{ alias: [ { find: , replacement: path.resolve(__dirname, src) } ] }, server: { host: 0.0.0.0, proxy: { /api: { target: http://localhost:8080, // 设置代理目标 changeOrigin: true, rewrite: (path) path.replace(/^/api/, ) } } } })打包命令可选如果是 TS 项目可以在打包命令后加上 --noEmit防止打包后生成大量 map 文件。// package.json scripts: { dev: vite --open, build: vue-tsc --noEmit vite build, preview: vite preview }执行打包执行 vscode 左下角配置好的 build 脚本打包后在根目录下可以看到生成的 dist 文件后端springboot配置静态资源路径配置可选在 application.yml(.properties) 中配置 Web 静态资源路径指定为 staticspring: web: resources: static-locations: classpath:/static/thymeleaf依赖在 pom.xml 中加入 thymeleaf 模板的依赖并刷新 maven// pom.xml dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-thymeleaf/artifactId /dependency转移打包文件将前端打包好的dist文件夹中的内容复制到后端的 resource/static 中新建 resource/templates 文件夹将 index.html 放入 templates 中请求返回html文件新建一个控制器类直接访问本地8080端口时返回 index.html。由于项目中有 thymeleaf 模板依赖“index” 就是 template 中的 index.html// BasicController.java Controller public class BasicController { // http://127.0.0.1:8080/ RequestMapping(/) public String html(){ return index; } }如果前端项目的 vue-router 使用的是历史模式如下图历史模式服务端需要增加一个覆盖所有情况的候选资源如果 URL 匹配不到任何静态资源则应该返回同一个index.html页面这个页面就是你 app 依赖的页面。// BasicController.java Controller public class BasicController { // http://127.0.0.1:8080/ RequestMapping(/) public String html(){ return index; } // 捕获所有未匹配路径并重定向到 index.html GetMapping(/**/{path:[^\.]*}) // 不匹配带.的路径如 .js/.css 等静态资源 public String redirect() { return forward:/; } }启动项目启动 springboot 项目浏览器地址栏输入http://127.0.0.1:8080回车可以看到前端页面可能遇到的问题页面一刷新就404检查前端的 vue-router 使用历史模式还是哈希模式历史模式HTML5 模式需要后端额外配置配置参考上文。不同的历史模式 | Vue Router[这里是图片006]https://router.vuejs.org/zh/guide/essentials/history-mode.html页面空白可能是 js 和 css 文件没有引入成功查看 f12 网络检查 index.html 查看 script 和 link 标签的地址应该是绝对路径不含./页面没有数据查看 f12 网络检查请求路径有没有错误是否存在跨域问题。检查后端有没有配置请求拦截器或者spring security进行排除。

相关新闻

常见的 Spring 项目目录结构

常见的 Spring 项目目录结构

在一个典型的 Spring 项目中,尤其是基于 Spring Boot 或 Spring MVC 的项目,会有一个清晰的目录结构来组织不同的功能模块。下面是一个常见的 Spring Boot 项目的文件结构,包含了大多数常用的目录和文件: 常见的 Spring 项目目录结…

2026/5/17 11:11:10 阅读更多 →
企业大文件传输可私有化部署吗?能落地本地或政务云吗?

企业大文件传输可私有化部署吗?能落地本地或政务云吗?

企业在大文件传输过程中,数据安全、部署自主性的需求日益提升,私有化部署、本地部署以及政务云部署成为众多企业关注的核心问题。这些部署方式能否实现,直接影响企业数据传输的合规性与可控性,也是企业选择大文件传输产品的重要考…

2026/5/17 11:11:09 阅读更多 →
5 分钟手把手教你打造 AI 知识库!附 OpenClaw「龙虾」养成指南(建议收藏)

5 分钟手把手教你打造 AI 知识库!附 OpenClaw「龙虾」养成指南(建议收藏)

我做了一个 OpenClaw「龙虾」养成指南。用的是字节飞书的「AI 知识库」。安全报告、部署教程、漏洞分析、配置模板,全在里面。现在你问它「OpenClaw公网裸奔的原因及安全风险有哪些」,AI 直接从我的资料里找答案,标出哪篇文档的哪个段落。甚至…

2026/7/4 19:50:16 阅读更多 →

最新新闻

AI辅助工具如何提升毕业论文答辩效率

AI辅助工具如何提升毕业论文答辩效率

1. 毕业论文答辩AI辅助工具全景解析作为一名经历过三次学术答辩的老兵,我深知准备过程中的痛点:文献梳理耗时、问题预测不准、表达不够学术化。传统方式下,仅整理答辩问题就需要2-3周时间。而现在,AI工具已经能将这个流程压缩到3天…

2026/7/4 23:23:10 阅读更多 →
SysML v2:打破传统系统建模瓶颈,实现工程设计的智能协作

SysML v2:打破传统系统建模瓶颈,实现工程设计的智能协作

SysML v2:打破传统系统建模瓶颈,实现工程设计的智能协作 【免费下载链接】SysML-v2-Release The latest incremental release of SysML v2. Start here. 项目地址: https://gitcode.com/gh_mirrors/sy/SysML-v2-Release 当您面对复杂的系统工程时…

2026/7/4 23:23:10 阅读更多 →
如何实现微信聊天记录永久保存:3步完成数据备份与智能分析

如何实现微信聊天记录永久保存:3步完成数据备份与智能分析

如何实现微信聊天记录永久保存:3步完成数据备份与智能分析 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/W…

2026/7/4 23:21:09 阅读更多 →
从TT100K到YOLO:一份完整的交通标志数据集转换与实战指南

从TT100K到YOLO:一份完整的交通标志数据集转换与实战指南

1. 为什么需要转换TT100K数据集格式第一次接触TT100K数据集时,我完全被它复杂的目录结构和标注格式搞懵了。这个由清华大学和腾讯联合发布的交通标志数据集,包含了10万张图片和3万多个标注实例,但它的JSON标注格式和YOLO完全不兼容。当时为了…

2026/7/4 23:19:08 阅读更多 →
数据科学转行实战路径:问题驱动的认知构建法

数据科学转行实战路径:问题驱动的认知构建法

1. 这不是一张“通关地图”,而是一份我带过37个转行学员后画出的实战路标 数据科学学习路径——这个词听起来像一份标准化的课程表,但实际操作中,它更接近于在浓雾里徒步时手绘的地形草图:有标记、有涂改、有折痕,甚至…

2026/7/4 23:19:08 阅读更多 →
2026普通人AI使用指南:看懂参数、混合思考与国产模型三大核心

2026普通人AI使用指南:看懂参数、混合思考与国产模型三大核心

1. 这不是科幻预告片,是普通人下周就该打开手机查的“技术天气预报”2026年4月这个时间点,听起来像科幻小说里随手写的年份,但如果你最近刷过几条国产大模型发布会的短视频,或者留意过身边朋友突然开始用“文心一言新版本”写周报…

2026/7/4 23:17:06 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻