当前位置: 首页 > 工具软件 > wro4j > 使用案例 >

WebJars和wro4j集成

巫晋鹏
2023-12-01

WebJars是服务器端开发人员(例如谦卑的仆人)在用于服务器端库的同一程序包管理工具中管理客户端资源(如Bootstrap,jQuery等)的简便方法。

本质上,WebJars所做的是将JAR的META-INF / resources中的客户端资源(CSS或JavaScript)的设置版本打包,然后将其上传到Maven Central。 然后,任何兼容Java EE的Web容器都会在静态URL下提供资源。 例如,对于JAR包装的META-INF/resources/webjars/bootstrap.3.0.3/js/bootstrap.js ,可以由webjars/bootstrap/3.0.3/css/bootstrap.css引用。

大多数提供程序都提供其资源的精简版本,并且将其打包在JAR中,因此使用精简资源是理所当然的事情(当然,如果精简资源是打包在一起的)。 但是,当使用多个WebJars时,这会增加浏览器请求的数量。 在WebJars的上下文之外,可以使用wro4j轻松实现最小化请求数,该工具可通过预处理器和后处理器列表管理资源的最小化和合并。 在较早的文章中已经描述了典型的wro4j用例。

好消息是,可以通过wro4j.xml配置文件轻松集成WebJars和wro4j。 就目前而言,wro4j.xml配置资源合并。 这些资源可能来自各种来源。 通常,它们是内部资源,由它们相对于webapp根的路径引用:

/sample.css

但是,wro4j的功能是能够引用其他类型的资源,包括打包在JAR内的资源:

classpath:META-INF/resources/webjars/bootstrap/3.0.3/css/bootstrap.css

仅通过此配置行,我们就可以将WebJar中的资源与其他资源合并。 从这一点开始,合并的资源可以引用为我们Webapp内部的单个资源。 下面显示了一个wro4j配置文件,该文件从内部sample.css和Bootstrap WebJar创建了compound.css文件。

<?xml version="1.0" encoding="UTF-8"?>
<groupsxmlns="http://www.isdc.ro/wro">
    <groupname="compound">
        <css> classpath:META-INF/resources/webjars/bootstrap/3.0.3/css/bootstrap.css </css>
        <css> /sample.css </css>
    </group>
</groups>

附件提供了Maven / IntelliJ格式的示例项目。

尽管使用单一JavaScript精简资源(和CSS的精简资源)可以提高HTTP / 1.1的性能,但HTTP / 2.0似乎并非如此。

翻译自: https://blog.frankel.ch/webjars-and-wro4j-integration/

 类似资料: