Vue打包文件dist放在SpringBoot项目下运行(正确实现全过程)(下)

在上一篇中,实现了Vue打包文件dist放在SpringBoot项目下运行。

Vue打包文件dist放在SpringBoot项目下运行(正确实现全过程)(上)

问题

路由刷新会产生404的问题。

原因

vue开发的应用,采用的是SPA单页面模式

每一个页面对应一个html文件,当刷新页面的时候,会主动向后端请求对应的html文件,拿到html文件后渲染界面,但是SPA单页面模式只有一个index.html入口文件,后续的界面跳转都是通过js控制路由跳转实现的。

解决

当我们直接输入/login路径时,先将页面重定向到/index.html,然后通过js控制路由实现跳转就可以了。

项目中增加配置

java 复制代码
import org.springframework.boot.web.server.ErrorPage;
import org.springframework.boot.web.server.ErrorPageRegistrar;
import org.springframework.boot.web.server.ErrorPageRegistry;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Component;

@Component
public class ErrorConfig implements ErrorPageRegistrar {

    @Override
    public void registerErrorPages(ErrorPageRegistry registry) {
        ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/index.html");
        registry.addErrorPages(error404Page);
    }
}

项目重启后,刷新就可以了。

相关推荐
ljs648273951几秒前
智慧商城(Smart Mall):基于 Spring Boot + Vue 3 的现代化电商平台实战
linux·vue.js·spring boot·后端
蜡台14 分钟前
修改Uniapp input 组件不刷新视图问题
前端·uni-app·input
添砖java_85717 分钟前
网页聊天室测试报告
java·spring boot·spring·maven
逸铭18 分钟前
Day 8:Preload 是什么?——在别人的网页里打黑工还要合规
前端·客户端
柒和远方25 分钟前
Worker Readiness:为什么 `/health` 不能证明后台任务能跑
前端·后端·架构
吃糖的小孩27 分钟前
Web Owner Console 还没写前端,我先给它设计 read model
前端
析数塔28 分钟前
2026前端框架深度解析:React Compiler、Angular Zoneless、Vue 3.5重写游戏规则
前端·vue.js·react.js
嘟嘟071729 分钟前
Node.js spawn 实现迷你 Cursor 自动化终端|子进程完整解析
前端·后端·面试
程序员Agions30 分钟前
ES2026,早该这样了
前端·javascript