springboot2.0 iview-admin2.0 vue-cli3整合

最近自己在做个vue/soringboot的项目,由于项目比较小没必要分开部署,整合的过程中遇到了一些问题这里记录下
vue和springboot集成时主要的关键点
vue前端的baseUrl要和springboot的contextPath 相同
springboot 404 拦截vue-router路由转到前端的入口点index.html

前端部分

1. vue.config.js的baseUrl与contextPath相同

// 项目部署基础
// 默认情况下,我们假设你的应用将被部署在域的根目录下,
// 例如:https://www.my-app.com/
// 默认:'/'
// 如果您的应用程序部署在子路径中,则需要在这指定子路径
// 例如:https://www.foobar.com/my-app/
// 需要将它改为'/my-app/'
 baseUrl:  process.env.NODE_ENV === 'production'  ? '/sealValidation/'   : '/'

2、axios baseURL与contextPath 相同

    baseUrl: {
        dev: 'https://www.easy-mock.com/mock/5add9213ce4d0e69998a6f51/iview-admin/',
        pro: '/sealValidation'
    }
    const baseUrl = process.env.NODE_ENV === 'development' ? baseUrl.dev : baseUrl.pro
    const axios = new HttpRequest(baseUrl)

3、router history模式下 base与contextPath 相同

    Vue.use(Router)
	const router = new Router({
	  routes,
	  mode: 'history',
	  base: process.env.NODE_ENV === 'development' ? '' : '/sealValidation'
	})

4、构建项目

    npm run build

springboot部分

1、将构建好的vue项目dist文件夹下的内容全部拷贝到springboot项目的src/main/resources/static文件夹下

构建好的vue项目
在这里插入图片描述

2、springboot 404 拦截vue-router路由

创建拦截器,拦截路由转到前端转到前端的入口点 index.html

package com.cdb.erms.seal.validation.config;

import java.util.HashSet;
import java.util.Set;

import org.springframework.boot.web.server.ConfigurableWebServerFactory;
import org.springframework.boot.web.server.ErrorPage;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Component;

@Component
public class MyWebServerFactoryCustomizer implements WebServerFactoryCustomizer<ConfigurableWebServerFactory> {

	/**
	 * 添加404异常处理
	 */
	@Override
	public void customize(ConfigurableWebServerFactory factory) {
		Set<ErrorPage> errorPage = new HashSet<ErrorPage>();
		errorPage.add(new ErrorPage(HttpStatus.NOT_FOUND, "/index.html"));
		factory.setErrorPages(errorPage);
		
	}

}

好了,现在可以启动你的springboot项目试试啦

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值