改动
2.0方式:
$import(path,callbackOrLazyLoad, target)
调整成(将 target参数提前)
/**
* @param <string> path (package:Object|package.Object|package.*| scriptPath)
* @param < Object> target 可选参数,指定导入容器。
* 当该参数为有效对象时(instanceof Object && not instanceof Function),导入的元素将赋值成其属性;
* 当该参数未指定时 (arguments.length==1), target为全局变量容器,这种情况等价于直接声明的全局变量。
* @param <boolean|Function> col callbackOrLazyLoad 可选参数,默认为null。
* 如果其值为函数,表示异步导入模式;
* 如果其值为真,表示延迟同步导入模式,否则为即时同步导入(默认如此)。
*/
$import(path, target,col)
理由:
延迟装载和异步装载并不常用。
而target紧跟path似乎更合逻辑。
不妥之处:
对于target的处理:
以前的办法:当制定null时,是不会将导入的对象拉出来的,只有没有指定target的时候,才会使用global(window)对象(arguments.length<=2)。
而现在,一但指定了callbackOrLazyLoad,target就必须指定了,这个时候,如何去处理还没想好。
JSI开发现状:
http://xidea.cvs.sourceforge.net/xidea/JSI2/web/source/boot-core.js?view=markup
目前主要的发展方向是开发环境支持、简化内核。
一切向易用、简单、性能方向考虑;避免过渡设计。
2.0版,启动文件压缩后近 30k
2.1彻底清理了一些不常用的功能,同时,将一些非必要的功能,作为可选项。
最小版本压缩后不到 5k(未启用文本压缩)。