准备vue项目

如果你的Vue.js应用程序使用了Vue Router的history模式,并且将其嵌入到Spring Boot应用程序中,你需要进行一些额外的配置,以确保前端路由正常工作。在Vue Router的history模式中,前端路由使用正常的URL,而不带有哈希标识符(#)。

使用history模式时做如下配置,base为Srping Boot的根目录,默认为"/",使用hash模式时可忽略以下配置。

const router = new VueRouter({
  mode: 'history',
  base: '/your-app-context-path', // 与Spring Boot根URL匹配
  routes: [
    // 定义你的路由
  ],
});

打包Vue项目

执行打包命令生产dist目录,里面包含生产的静态资源。

npm run build

复制Vue.js静态资源到Spring Boot项目: 将Vue.js构建后的静态资源(通常在dist目录中)复制到Spring Boot项目的资源目录,例如将它们放在src/main/resources/static目录下。

配置Spring Boot来处理前端路由

在Spring Boot应用程序中,配置一个控制器来处理前端路由。这确保前端路由正常工作,而不导致404错误。

创建一个控制器类如下:

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class SpaController {
    @RequestMapping(value = "/{path:[^\\.]*}")
    public String forward() {
        return "forward:/index.html";
    }
}

启动Spring Boot应用程序

打开浏览器,访问Spring Boot应用程序的URL。你应该能够看到Vue.js前端应用程序在Spring Boot应用程序内运行,并且前端路由正常工作。

GitHub 加速计划 / vu / vue
207.54 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 4 个月前
e428d891 Updated Browser Compatibility reference. The previous currently returns HTTP 404. 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐