vue打包部署到springboot中,看这篇就够了

server/2024/10/9 1:27:59/

如果不清楚springboot中的static和templates目录可以看这篇

static和templates目录

1、问题

vue打包后部署到springboot中访问,毕竟前后端分离部署的时候要分开,多了一个服务,可以将vue打包后放在springboot中的static目录下,网上类似的博文很多,部署的时候遇到几个细节问题,如下都会一一列举出来,希望对你有帮助。

2、vue打包

vue打包部署到springboot中,路由中的mode要设置成 hash

// vue打包部署到springboot中,这里的mode需要改成 hash
export default new Router({mode: 'hash',scrollBehavior: () => ({ y: 0 }),routes: constantRoutes
})

3、打包后的内容放哪里?

一般项目打包后的目录都在dist目录下, 包含static目录和一个index.html文件。

第一种
将static目录和index.html文件都放在springboot中的resources目录下;

第二种
如果不想用默认static目录,可以自己新建一个目录,注意要改配置文件,告诉springboot你的静态目录是什么。

spring.web.resources.static-locations = classpath:/staticxxx/

4、访问

第一种

直接访问静态文件:ip:port/index.html

第二种
带个.html看着不太好,那就先进controller,转发到index.html

ip:port/index

@GetMapping("/index")
public String index() {return "forward:/index.html";
}

如果使用了security,注意放开静态资源权限,不然会404。

5、多个项目怎么部署

如果共用一个接口,但前端是好几个项目,都想打包扔到springboot中访问。

比如有shop项目,有user项目。

在springboot中的static目录下建两个文件夹,shop和user;各自的文件夹下放各自前端项目的包, 如果用进controller再转发的方式访问,注意 RequestMapping(“shop”) ,这里的shop和static下的shop名字要一直,不然转发后会提示404找不到静态资源,这个和转发的原理有关。

如下:

ip:port/shop/index

shop目录
RequestMapping("/shop")@GetMapping("/index")
public String index() {return "forward:/shop/index.html";
}

ip:port/user/index

user目录
RequestMapping("/user")@GetMapping("/index")
public String index() {return "forward:/user/index.html";
}

spring.web.resources.static-locations这个配置可以配置多个静态目录,上面这种情况是不是可以在resources下直接新建shop和user目录,然后把他们都标识成静态,这种方式没试,空了在研究研究。

感谢你阅读到这里,希望上面的内容对你有帮助!欢迎交流!


http://www.ppmy.cn/server/42540.html

相关文章

蓝桥杯-合并数列

小明发现有很多方案可以把一个很大的正整数拆成若干正整数的和。他采取了其中两种方案,分别将它们列为两个数组 {a1, a2, …, an} 和 {b1, b2, …, bm}。两个数组的和相同。 定义一次合并操作可以将某数组内相邻的两个数合并为一个新数,新数的值是原来两…

【vue/ucharts】ucharts 自定义格式化 y 轴数据显示(横向柱状图常用)

使用 ucharts 的柱状图时,尤其是横向柱状图会更常见,会有自定义 y 轴数据的情况,就像使用过滤器时对数据进行格式化以达到自己想要的效果一样; 比如我想要这样的效果: 官网里的栗子如图所示: 但是如果此…

Linux——进程信号(一)

1.信号入门 1.1生活中的信号 什么是信号? 结合实际红绿灯、闹钟、游戏中的"!"等等这些都是信号。 以红绿灯为例子: 一看到红绿灯我们就知道:红灯停、绿灯行;我们不仅知道它是一个红绿灯而且知道当其出现不同的状况…

c++面试题记录

面向对象的程序设计思想是什么? 答:把数据结构和对数据结构进行操作的方法封装形成一个个的对象。 在头文件中进行类的声明,在对应的实现文件中进行类的定义有什么意义? 答:这样可以提高编译效率,因为分开的…

信息泄露--注意点点

目录 明确目标: 信息泄露: 版本软件 敏感文件 配置错误 url基于文件: url基于路由: 状态码: http头信息泄露 报错信息泄露 页面信息泄露 robots.txt敏感信息泄露 .get文件泄露 --判断: 搜索引擎收录泄露 BP: 爆破: 明确目标: 失能 读取 写入 执行 信息泄…

数据仓库之ClickHouse

ClickHouse是一个用于联机分析处理(OLAP)的列式数据库管理系统(DBMS),特别适用于在线分析处理(OLAP)场景中的快速数据查询。以下是关于ClickHouse作为数据仓库的一些主要特点和优势:…

python数据类型之字符串

目录 1.字符串概念和注意事项 2.字符串内置函数 3.字符串的索引、切片和遍历 4.字符串运算符 5.字符串常用方法 性质判断 开头结尾判断 是否存在某个子串 大小写等格式转化 子串替换 删除两端空白字符 格式化字符串 分割与合并 6.字符串模板 7.exec 函数 8.字符…

shell脚本之正则表达式

一、常用命令 1.sort命令 sort命令对行内容进行排序,默认按首字排序 cat file | sort 选项 或sort [选项] 文件 常用选项 -n 对数字进行排序 -r 反向排序数组 -u 排序后去重 -t ‘字符分隔符’ -k 字段序号 (根据-t指定的分隔符的第k个字段进行排序) -o 输出文…