WebJars介绍及使用

    技术2024-12-27  14

    转载: https://blog.csdn.net/q_0718/article/details/80105318


    WebJars是一个很神奇的东西,可以让大家以jar包的形式来使用前端的各种框架、组件。

    什么是WebJars

    什么是WebJars?WebJars是将客户端(浏览器)资源(JavaScript,Css等)打成jar包文件,以对资源进行统一依赖管理。WebJars的jar包部署在Maven中央仓库上。

    为什么使用

    我们在开发Java web项目的时候会使用像Maven,Gradle等构建工具以实现对jar包版本依赖管理,以及项目的自动化管理,但是对于JavaScript,Css等前端资源包,我们只能采用拷贝到webapp下的方式,这样做就无法对这些资源进行依赖管理。那么WebJars就提供给我们这些前端资源的jar包形势,我们就可以进行依赖管理。

    如何使用

    (1)使用 添加js或者css库

    pom.xml

    <dependency> <groupId>org.webjars</groupId> <artifactId>bootstrap</artifactId> <version>3.3.7-1</version> </dependency> <dependency> <groupId>org.webjars</groupId> <artifactId>jquery</artifactId> <version>3.1.1</version> </dependency>

    src/main/resources/static/demo.html

    <html> <head> <script src="/webjars/jquery/3.1.1/jquery.min.js"></script> <script src="/webjars/bootstrap/3.3.7-1/js/bootstrap.min.js"></script> <title>WebJars Demo</title> <link rel="stylesheet" href="/webjars/bootstrap/3.3.7-1/css/bootstrap.min.css" /> </head> <body> <div class="container"><br/> <div class="alert alert-success"> <a href="#" class="close" data-dismiss="alert" aria-label="close">×</a> Hello, <strong>WebJars!</strong> </div> </div> </body> </html>

    启动应用访问 http://localhost:8080/demo.html (2)省略版本号

    很少在代码中硬编码版本号,所以需要隐藏它

    pom.xml添加webjars-locator

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

    src/main/resources/static/demo.html

    <script src="/webjars/jquery/3.1.1/jquery.min.js"></script> <script src="/webjars/bootstrap/3.3.7-1/js/bootstrap.min.js"></script> <title>WebJars Demo</title> <link rel="stylesheet" href="/webjars/bootstrap/3.3.7-1/css/bootstrap.min.css" />

    改为

    <script src="/webjars/jquery/jquery.min.js"></script> <script src="/webjars/bootstrap/js/bootstrap.min.js"></script> <title>WebJars Demo</title> <link rel="stylesheet" href="/webjars/bootstrap/css/bootstrap.min.css" />

    启动应用再次访问 http://localhost:8080/demo.html 结果和上边一样

    扩展:

    引入的开源JavaScript库/CSS库将会以jar的形式被打包进工程! spring-boot-demo1-0.0.1-SNAPSHOT.jar\BOOT-INF\lib

    bootstrap-3.3.7-1.jar └─ META-INF └─ resources └─ webjars └─ bootstrap └─ 3.3.7-1 ├─ css | ├─ bootstrap.min.css | ├─ bootstrap.min.css.gz # Gzip文件 ... jquery-3.1.1.jar └─ META-INF └─ resources └─ webjars └─ jquery └─ 3.1.1 ├─ jquery.min.js ...
    Processed: 0.011, SQL: 9