运行时编译
在 web 项目中配置一个 Filter
,页面上需要 css 或 js 资源时,将请求发送至 Filter
,Filter 将按照 wro.xml
配置文件中配置的 group
将资源编译后返回。
步骤 1:添加 WroFilter
<filter>
<filter-name>WebResourceOptimizer</filter-name>
<filter-class>ro.isdc.wro.http.WroFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>WebResourceOptimizer</filter-name>
<url-pattern>/wro/*</url-pattern>
</filter-mapping>
步骤 2:web.xml
同路径创建 wro.xml
<groups xmlns="http://www.isdc.ro/wro">
<group name="all">
<css>/asset/*.css</css>
<js>/asset/*.js</js>
</group>
</groups>
步骤 3:页面引用
<html>
<head>
<title>Web Page using wro4j</title>
<link rel="stylesheet" type="text/css" href="/wro/all.css" />
<script type="text/javascript" src="/wro/all.js"></script>
</head>
<body>
</body>
</html>
示例项目:wro4j-demo.war & 源码
预编译
预编译可以将资源文件事先编译好,页面直接引用即可,无需在 web.xml
中配置 Filter
。预编译有两种方式,一种是命令行方式,一种是插件方式。
command-line
根据源码编译的 wro4j-runner-1.7.6.jar
用法示例
假设 jar 包放在 web 应用根路径 src/main/webapp
,wro.xml
在 src/main/webapp/WEB-INF/wro.xml
# 仅合并文件
$ java -jar wro4j-runner-1.7.6.jar --wroFile ./WEB-INF/wro.xml -i
# 合并并压缩
$ java -jar wro4j-runner-1.7.6.jar --wroFile ./WEB-INF/wro.xml -i -m -c cssMin
编译后文件生成至 src/main/webapp/wro/
。详细用法参见 文档。
plugin
Maven plugin 及使用 Maven plugin 的 Eclipse plugin