1. 有时候我们需要对页面,或者静态资源压缩输出,J2eeFAST也已经为您提供一套完整的方案。

    2. 对页面压缩一方面是为了提高传输速率、提高用户体验感,再者也可以有效的保护代码降低页面可读性. J2eeFAST 使用Freemarker引擎对页面进行压缩。使用SpringBoot 对静态资源进行压缩。

    具体设置如下:

    a.页面压缩代码:

    1. <#include "/common/include.html">
    2. <@pageTheme mark="true">
    3. .....
    4. </@pageTheme>

    系统默认对登录页面、主页面是启用压缩的,如果再我们开发的时候为了调试方便你也可放开,改成 <@pageTheme mark="false"> 即可。
    如果所有页面都需要开启,只需要登录系统 [系统设置]-[参数管理]-[项目页面压缩] 修改成 true 即可。

    b.页面代码:

    <#include "/common/include.html"/>
    <@pageTheme mark="${config.optimize()?string('true', 'false')}">
    ...
    </@pageTheme>
    

    注意: 开启全局压缩需要我们在编写前端代码的时候页面JS代码书写严格规范且不能使用 // 作为注释 应当使用 `//` 作为代码注释,不然页面会报脚本错误!!!,还有我们在书写JS代码的时候还有书写不能省略的。例如:


    不严谨的写法:**

        //变量定义
        var time = 100
        var data = 250
    
        //因为压缩后代码变成   //所有浏览器就会报错
        var time = 100var data  = 250
    

    正确写法:

    var time = 100;
    var data = 250;
    
    //压缩之后
    var time = 100;var data  = 250;
    

    还需注意: for、if 函数之间“{}”符号不要省略

    3. 对系统静态资源压缩输出

    具体设置如下:

    server:
        ...
        #开启springBoot 对输出页面进行压缩
        compression:
            enabled: true
            mime-types: 'application/javascript,text/css,application/json,application/xml,text/html,text/xml,text/plain'
    

    系统默认是开启状态.

    延申:在实际项目部署的时候我们经常会使用nginx反向代理,nginx也可以对项目静态资源进行压缩处理,这也是一种方案。但是作者在测试过程发现使用nginx压缩效果并没有SpringBoot好。不知道是不是我测试环境导致的,你也可以试试,如果有详细的测试对比烦请告知。至于怎么选择就看个人了