关于EXT什么时候引入JS

我看了几个EXT的小项目,他们都是在login成功后,重定向到 index 页面然后在 这个 index 里面 一次性把所有的 js 都加载进来这样不会不不好? 如果项目稍微大一点,可能有两三百个js 那样刚登陆的时候不是会很慢?我知道还有一种方案是, 把js在不同的html中引入,而在index页面, 只要用 panel 的 load() 方法,去加载这个html。 不知道这样算不算延迟加载了大家一般是怎么处理js的加载的呢?

16个回答

运行老是跑failure方法里去,肯定是你url那里出问题,url要分清是相对url和绝对url,因为ext就只有一个主界面页面,所以的相对url都会被解析到这个地址的相对地址。

可以动态的进行加载,不过要把握好时机,哈哈。

我一般是做一个引入页面a, a 上面引入了js

然后在index.html加载完后,再引入 a页面

panel 的 load() 方法,去加载这个html   这样的引用实际上是把ext分离了,做了太多这样的引入页面,会带来负面作用,典型的就是portal时候,这load会导致ext出现很多的bug(用的越深,bug越多)。
一部分适合load的可以采用,把多个js文件进行namesapce的组合,然后做多层级加载,首页调用都是用自己的namespace封装好的类来调用,虽然不能完全解决这个问题,希望能有帮助。
ps:用ext如果代码写成到处跳转,那就有点失败了

传说,EXTjs 很耗内存。。。 :oops:

我以前是用一个Ajax请求道服务器,然后根据需要返回js,然后eval这个js。这样可以做到按需加载JS

偶买噶,俩三百个js一个页面。。

Ext那么大一个库压缩完要500多K,一般的系统压缩完js大小不会超过10kb,执行一般也不会超过一秒,你所谓的那种延迟加载没有只会加大系统维护难度,降低组件可用性,而且更容易造成内存泄漏。Ext这种重量级、高耦合度不适合使用延迟加载,而是使用OOP的方式进行构建,如果对项目载入速度有需求的话请去学习YUI的延迟加载

不是一般都是引用基础的js嘛!然后再根据需要在引用你所需要

依赖计算
动态加载

给每个JS文件定义它的[b]直接依赖[/b]
最终会形成一个依赖树

依赖数据会加载到本地,浏览器在加载某个文件时递归查询依赖表(也就是树的后序遍历,保证加载顺序)。最后得到一个需要加载的JS文件的列表。

然后将文件列表用Ajax发给服务器;或者自己一个个请求,最后合并执行。
(执行部分可以参考jQuery的globalEval方法)

以上有些细节部分未考虑,比如判断是否已经加载过,看实际情况处理吧

共16条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问