Extjs4.x MVC开发模式,效率提高的两大秘诀
最近做MVC开发的,遇到一个蛋疼的问题,每次加载模块都需要耗时3~4秒钟,才可以显示出完整的页面,通过监控,发现主要还是在Controller里慢,加载js文件等都是非常快的,但一到controller里面,绘制各种view就非常慢了。
最后经过黄大师的指点,偶然间发现,自己不经意间的习惯,会拖慢如此多的效率。
第一大秘诀:严格按照extjs官方的user demo来做规范
尤其是注意选择器的使用。例如alias: 'widget.systemgrid',这里的systemgrid,一定要小写,否则效率要拖慢n倍,我就是因为这个的地方全都和类名一样大写而导致加载奇慢(3、4秒的样子),统一修正为小写,xtype引用小写部件,controller重新定义refs即可,您会页面展现明显快了。
第二大秘诀:启用js缓存
默认Ext.loader是关闭缓存的,也就意味着,你每次加载页面都需要重新加载这个页面上的所有js文件,从network跟踪中你可以清楚地看到,默认情况下每一个js请求都加了_dc的时间参数,当然这个在开发过程中是很有必要的,毕竟要经常修改js文件,但当系统发布后,一定要记住开启js缓存。
//启用缓存 Ext.Loader.setConfig({enabled:true, disableCaching: false}); //其他缓存设置 Ext.data.Connection.disableCaching = false; Ext.data.JsonP.disableCaching = false; Ext.data.proxy.Server.prototype.noCache = false; Ext.Ajax.disableCaching = false;
另外,更多优化可参考黄大师的:http://blog.csdn.net/tianxiaode/article/details/9341285