SpringBoot | 第十八章:web应用开发之WebJars使用 (2)

然后对应的pom配置主要就加入一个资源拷贝动作:

<build> <resources> <resource> <directory>${project.basedir}/src/main/resources</directory> <targetPath>${project.build.outputDirectory}/META-INF/resources/webjars</targetPath> </resource> </resources> </build>

之后利用maven打包后,就可以看见其目录结构了:

资源包目录结构

然后我们删除了我们原先的资源文件或者图片重命名下,并引入依赖:

<!-- 静态资源依赖 --> <dependency> <groupId>cn.lqdev.learning</groupId> <artifactId>springboot-webjars</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency>

最后重新启动应用,再次访问下,依旧是正常显示的:

SpringBoot | 第十八章:web应用开发之WebJars使用

一点技巧

我们可以看见,我们在index.html中访问图片是这么访问的:webjars/demo/0.0.1/springboot.jpg。咋一看,可能觉得没问题。但当我们静态资源版本有更新时,我们不是又需要去改下这个静态资源的引入路径,那何来的优雅!所以官方提供了一个webjars-locator包,就是来解决此问题的。

0.pom文件中,加入依赖(这里注意,Springboot(1.5.15.RELEASE)父类pom文件中已经指定了此版本为:0.32-1,所以我们可以不需要去添加版本了):

<dependency> <groupId>org.webjars</groupId> <artifactId>webjars-locator</artifactId> </dependency>

1.修改index.html中的图片路径
原来:

<img alt="sprinboot" src="http://www.likecs.com/webjars/demo/0.0.1/springboot.jpg">

现在:

<img alt="sprinboot" src="http://www.likecs.com/webjars/demo/springboot.jpg">

2.修改配置类,加入resourceChain属性,不然还是去除了版本时路径找不到的,这里需要注意。

@Configuration public class WebConfig extends WebMvcConfigurerAdapter{ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { //配置映射关系 //即:/webjars/** 映射到 classpath:/META-INF/resources/webjars/ registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/") //新增 resourceChain 配置即开启缓存配置。 //不知道为何不加这个配置 设置了 webjars-locator 未生效。。没过多纠结。。 .resourceChain(true);//生产时建议开启缓存(只是缓存了资源路径而不是资源内容),开发是可以设置为false } }

这样之后,我们只需要修改依赖包即可,前端都不需要重新改了。

相关资料

https://www.webjars.org/contributing

静态文件处理这篇讲的不错,可以看看:https://blog.csdn.net/xichenguan/article/details/52794862

总结

本章节主要是讲解了webjars的使用。使用是相对来说比较简单了,有了这个后,我们之后去管理前端的静态资源就很方便了,也能引用已经打好jar的第三方库了,是不是很方便!

最后

目前互联网上很多大佬都有SpringBoot系列教程,如有雷同,请多多包涵了。本文是作者在电脑前一字一句敲的,每一步都是实践的。若文中有所错误之处,还望提出,谢谢。

老生常谈

个人QQ:499452441

微信公众号:lqdevOps

公众号

个人博客:

原文地址:

完整示例:https://github.com/xie19900123/spring-boot-learning/tree/master/chapter-18

静态文件工程:https://github.com/xie19900123/spring-boot-learning/tree/master/springboot-webjars

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyyjxy.html