ext-all.js这个文件都有500多k,在页面中直接引用这个js文件是很不现实的,曾经在一个大的项目中使用这个js,则直接导致页面半天出不来的后果。于是自己研究了下,目前通过下面的方法来优化提升Ext Js的性能(转载请注明出处http://blog.csdn.net/selley):
使用JSVM、
JSVM (JavaScript Virtual Machine的缩写),一个JavaScript基础框架,sourceforge开源项目,由万常华(wch3116)于2003年底发起, 目前最新版本是2.05,采用的是 BSD License 授权协议。本身JSVM也提供了JSVM+Ext2的实例,看看就知道怎么在JSVM下加入ext的js库了。
(不知道为什么jsvm官网上不去了)
我在项目中是这么用的:
<script type="text/javascript" src="/depporject/comjs/jsvm2/jsre.js" classpath="dom2.gzjs;ext2p.gzjs" modules="smartloader" ></script>
为什么扩展名是gzjs呢,这是使用了gzip压缩js文件(转载请注明出处http://blog.csdn.net/selley);
使用Gzip压缩
gzip压缩后,ext js文件的大小将只有100k左右。(转载请注明出处http://blog.csdn.net/selley)
只是对gzip压缩的文件需要提供filter(Java开发),为你的应用提高解压缩功能,filter的写法很简单:
............
public void doFilter(HttpServletRequest request,
HttpServletResponse response, FilterChain chain)
throws IOException, ServletException {
for(Iterator it = headers.entrySet().iterator();it.hasNext();) {
Map.Entry entry = (Map.Entry)it.next();
response.addHeader((String)entry.getKey(),(String)entry.getValue());
//转载请注明出处http://blog.csdn.net/selley
}
chain.doFilter(request, response);
}
public void init(FilterConfig config) throws ServletException {
String headersStr = config.getInitParameter("headers");
String[] headers = headersStr.split(",");
for(int i = 0; i < headers.length; i++) {
String[] temp = headers[i].split("=");
this.headers.put(temp[0].trim(), temp[1].trim());
}
}
}
web.xml配置(转载请注明出处http://blog.csdn.net/selley):
<filter>
<filter-name>addHeaderFilter</filter-name>
<filter-class>org.common.AddHeaderFilter</filter-class>
<init-param>
<param-name>headers</param-name>
<param-value>Content-Encoding=gzip</param-value>
</init-param>
</filter>
通过以上两步,整个页面装载速度很快了。大家可以试试。
另外在实际开发中,并不是将ext-all.js全部在jsvm中装载,只是将常用的ext js代码归到一起,由gzip压缩,然后又jsvm装载(即ext2p.js,p代表部分),剩下的ext js代码由jsvm按需装载。
分享到:
相关推荐
利用JAVASCRIPT即你想那个GZIP压缩与解压缩 最近流行的网络游戏(FLASH)数据传输都是用GZIP进行压缩与解压缩的,在客户端FLASH对与服务器交互的数据进行解压缩,
22、MapReduce使用Gzip压缩、Snappy压缩和Lzo压缩算法写文件和读取相应的文件 网址:https://blog.csdn.net/chenwewi520feng/article/details/130456088 本文的前提是hadoop环境正常。 本文最好和MapReduce操作常见...
压缩js,csss文件,将js,css文件放入gzip文件夹下,打开cmd,gzip xxx 即可压缩
使用C语言编写的GZIP压缩及解压源代码
js压缩成gzip格式,例如:310kb js 文件压缩后 45KB..降低传输量,提高系统性能。 内含:gzip安装程序 以及操作手册实例讲解。
GZIP压缩工具GZIP压缩工具GZIP压缩工具
易语言GZIP解压缩源码,GZIP解压缩,GZIP压缩,GZIP解压,InitDecompression,InitCompression,CreateDecompression,CreateCompression,ResetDecompression,ResetCompression,DestroyDecompression,DeInitCompression,...
GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNIX系统的文件压缩。我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的。现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件...
易语言gzip解压缩模块源码,gzip解压缩模块,PeLoader_LoadLibrary,PeLoader_FreeLibrary,PeLoader_GetProcAddress,PeLoader_GetEntryPoint,Call,初始化,GZIP压缩,GZIP解压
gzip源码,gzip压缩算法。GZIP学习
基于pako的gzip 压缩和解压缩,解决中英文乱码问题。可运行demo
php 压缩 css 或js 文件 ,以缩短客户端响应时间
基于pako的gzip 压缩和解压缩,解决中英文乱码问题。可运行demo
该案例通过zlib实现gzip的压缩解压功能,包括解压gzip字符串、图片两个案例;提供了zlib1211的源码包和对应编译后生成的文件; 相应说明参考笔者博客:Qt笔记8--zlib实现gzip解压,链接...
ajax+pako.js实现gzip数据压缩上传,解决post数据过长问题 http://blog.csdn.net/jodenhe/article/details/70983781
php 压缩 gzip ,包括两种服务器端配置 和一种 php编写的gzip压缩代码
apache开启gzip压缩网络传输减少带宽
webpack在打包时可以借助 compression webpack plugin 实现gzip压缩,首先需要安装该插件: npm i -D compression-webpack-plugin 在vue cli3.0 生成的项目里,可在 vue.config.js 中按照如下方式进行配置: 压缩...
gzip压缩Windows版 ,解压后只需使用gzip.exe,放入System32即可正常调用。
用GZIP压缩解压文件,从源文件得到文件输入流,得到目标文件输出流,得到压缩输出流,设定读入缓冲区尺寸,弹出文件选择器,并判断是否点击了打开按钮,判断事件来自于哪个按钮,用于选择解压和压缩的文件。