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);
    }
}

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

相关推荐
2601_962885727 分钟前
AlphaFeed 支持哪些 K 线周期?period参数怎么传?
前端·数据库·python
企业数字化笔记20 分钟前
AI工具的文件和参数怎么设计?上传校验、配置版本与可复现任务
前端·人工智能
铁皮饭盒28 分钟前
还是网页端, 46mb模型, 抠图功能升级了, 抠任意主体, 还是不要显卡, 不要python, 满意吗?
前端·javascript·后端
怕浪猫29 分钟前
Agent 怎么做规划?这道面试题淘汰了 80% 的候选人
前端·面试·agent
YQteamdyq1 小时前
为什么 { ...state } 会悄悄杀掉响应式?yq-sanyi v0.4.2 的三处修复
前端·javascript
Java后端的Ai之路1 小时前
01-React基础教程
开发语言·前端·python·react.js·前端框架
颜进强1 小时前
25 · NestJs DurableProviders 持久化 Provider:把 ContextId 当缓存键
前端·后端·ai编程
爱丶不疚1 小时前
Electron: Sentry 都采集了什么?你知道吗
前端·electron
恋猫de小郭1 小时前
Dart 4.0 要彻底移除 dart:mirrors,Augmentations 应该要来了
android·前端·flutter