Vue项目打包至Spring Boot项目运行

准备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应用程序内运行,并且前端路由正常工作。

下面是基于 Spring BootVue.js 的前后端分离项目的步骤: 1. 创建 Spring Boot 项目 可以使用 Spring Initializr 创建一个新的 Spring Boot 项目,选择需要的依赖,例如 Spring Web、Spring Data JPA、MySQL 等。创建后,可以在 IDE 打开该项目运行,以确保项目可以正常启动。 2. 创建 Vue.js 项目 使用 Vue CLI 创建一个新的 Vue.js 项目,选择需要的配置,例如使用 Babel、ESLint 等。创建后,可以在命令行进入该项目运行 `npm run serve` 命令,以启动开发服务器并在浏览器查看项目。 3. 配置跨域 在 Spring Boot 项目,需要配置跨域支持,以便于 Vue.js 项目可以访问后端 API 接口。可以使用 `@CrossOrigin` 注解或在配置类添加 `CorsFilter` 过滤器来实现跨域。 4. 编写 API 接口 在 Spring Boot 项目,编写 API 接口,提供后端服务。可以使用 Spring MVC 框架来编写控制器,并使用 Spring Data JPA 或其他 ORM 框架来操作数据库。 5. 编写前端页面 在 Vue.js 项目,编写前端页面,访问后端 API 接口,获取数据并显示。可以使用 Vue.js 的组件、路由、状态管理等功能来实现页面的功能和交互。 6. 打包部署 完成开发后,需要将前端代码打包为静态文件,并将其放置在 Spring Boot 项目的静态资源目录。然后可以使用 Maven 或 Gradle 等工具将整个项目打包为可执行的 Jar 或 War 文件,并部署到服务器上。 以上就是基于 Spring BootVue.js 的前后端分离项目的步骤,需要注意的是,前后端分离开发需要进行良好的协作和沟通,确保接口的正确性和一致性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值