1. 有时候我们需要对页面,或者静态资源压缩输出,J2eeFAST也已经为您提供一套完整的方案。
2. 对页面压缩一方面是为了提高传输速率、提高用户体验感,再者也可以有效的保护代码降低页面可读性. J2eeFAST 使用Freemarker引擎对页面进行压缩。使用SpringBoot 对静态资源进行压缩。
具体设置如下:
a.页面压缩代码:
<#include "/common/include.html"><@pageTheme mark="true">.....</@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好。不知道是不是我测试环境导致的,你也可以试试,如果有详细的测试对比烦请告知。至于怎么选择就看个人了
