JFinal-assets(线上css、js压缩插件)

一、说明

JFinal框架结合JFinal3.0 template、jsp、beetl、freemarker模版的js、css在线合并压缩插件!结合CDN使用效果更佳哦!

二、依赖

  1. JFinal

  2. yuicompressor

  3. commons-io

三、使用

<dependency>
    <groupId>net.dreamlu</groupId>
    <artifactId>JFinal-assets</artifactId>
    <version>1.2.0</version>
</dependency>

1. JFinal3.0 template中使用

自定义指令

me.addDirective("assets", new AssetsDirective());

js

<script src='#assets("/assets/assets.jjs")'></script>

css

<link rel="stylesheet" href='#assets("/assets/assets.jcss")'/>

2. Beetl中使用

自定义标签

TAG.assets = net.dreamlu.ui.beetl.AssetsTag

 js

<#assets file="/assets/assets.jjs"; src>
    <script src="${ctxPath}${src}"></script>
</#assets>

 css

<#assets file="/assets/assets.jcss"; href>
    <link rel="stylesheet" href="${ctxPath}${href}"/>
</#assets>

file: 需要压缩的js、css列表

assets.jjs示例:

#开头表注释
/js/jquery.min.js
/js/jquery-ui.min.js
/js/modernizr.min.js
/js/superfish.min.js
/js/application.js

3. JSP中使用

首先、导入标签库

<%@ taglib prefix="assets" uri="http://www.dreamlu.net/tags/assets.tld" %>

同理如beetl

<assets:assets var="x" file="/assets/assets.jjs">
<script src="${x}" type="text/javascript" ></script>
</assets:assets>

4. freemarker中使用

首先、配置(可在JFinal的config中完成)

FreeMarkerRender.getConfiguration().setSharedVariable("assets", new AssetsDirective());

同理如beetl

<@assets var="x" file="/assets/assets.jjs">
<script src="${x}" type="text/javascript" ></script>
</@assets>

四、文章

对css,js压缩之combo以及七牛cdn的思考:http://blog.dreamlu.net/blog/47 

五、更新说明

>## 2017-03-08 v1.2.0

>1. 升级到JFinal3.0,添加jfinal模版的支持

>## 2015-12-30 v0.0.3

>1. 升级到JFinal2.1,JFinal低版本用户请使用`v0.0.3`

六、交流群

如梦技术:237587118

七、源码地址

http://git.oschina.net/596392912/JFinal-assets

八、License

( The MIT License )