前端打包项目dist导入SpringBoot打开显示不出静态页面资源

前些时候做了个管理系统项目,前端利用vite整合打包,把文件发给我,我就放在了IDEA项目的src/main/resources目录下:
IDEA
但是启动时访问我的localhost端口时,访问得了index页面,但是是一片黑色(静态资源显示不出来)。

刚开始,查找网上的方法,我的application.yml中配置是这样的:

spring:
	web:
		resources:
			static-locations: "classpath:/dist"

用了以上的方法还是无效,也查找了网上所有相关方法,全试了一遍,也是无功而返。
后面自己想一想,我没有了解spring.web.resources.static-locations真正含义是什么就在乱配置了。。
原来,spring.web.resources.static-locations这项是到指定目录下查找静态资源的位置,然后去寻找它jss css等文件。

假定采用默认的配置端口,那么只有请求地址类似于“http://localhost:8080/resources/jquery.js”时,Spring Boot才会处理此请求,处理方式是将根据模式匹配后的文件名查找本地文件,那么应该在什么地方查找本地文件呢?这就是“spring.resources.static-locations”的作用了。

但是这个“指定目录”是谁指定的呢?是由spring.mvc.static-path-pattern指定的。

换句话来说:这个配置的就是我们应该以什么样的路径来访问我们的静态资源!

spring.resources.static-locations=classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resources
继续以上面的请求地址为例,“http://localhost:8080/resources/jquery.js”就会在上述的四个路径中依次查找是否存在“jquery.js”文件,如果找到了,则返回此文件,否则返回404错误。

这下我明白了,于是我把静态文件static单独拿出来,放到resources目录下面,然后在application.properties中添加配置:

spring.mvc.static-path-pattern=/static/**

也就是向spring指明:我们查找静态资源文件要到static文件下找,然后再访问这些静态资源文件。

访问成功!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值