纸头折飞机
欢迎大家加入KitJs官方高级QQ群88093625,讨论前端技术,上海携程招聘H5,iOS,android,产品,设计,交互,测试,有意者发简历到xueduanyang1985@163.com
随笔 - 48,  文章 - 2,  评论 - 595,  阅读 - 57万

号外:kitjs官方讨论QQ群建立了,QQ群号88093625,欢迎大家加入,讨论前端相关话题

kit内置支持requireJs托管,可以使用requireJs加载和管理KitJs框架内的所有组件和类库

最近园子里有很多讨论requireJs(http://requirejs.org/)的兄弟,requireJs托管js代码的好处有

1.通过闭包提供了一个安全沙箱,保证js代码不会互相污染

2.基于AMD规范,支持了js的依赖关系,实现了依赖载入

3.对于大量跨域,或者大量重复的依赖,提供一个基于程序的打包合并压缩的工具

 

kitjs整合了requireJs的好处是,可以让显式申明在网页的js加载更少,同事也让kitjs可以完全模拟jQuery的代码写法

demo地址:http://xueduany.github.com/KitJs/KitJs/demo/Requirejs/t1.html

查看源代码,我们可以看到,整个页面,我们只需要引用require.js一个js,其他文件都是通过同域,异步加载过来的

require(['kit'], function(dependency) {
                define('', ['suger', 'widget/Mask/mask', 'widget/Dialog/dialog'], function($) {
                    var d = new $kit.ui.Dialog();
                    d.init();
                    d.center();
                });
            });
          

先通过require方法载入kit.js的core,然后通过define加载suger.js,在suger.js内部有这样的实现

image

在suger.js代码内部申明了suger.js模块的依赖关系,同时定义了suger.js模块返回对象为$kit.$方法,把这个方法传给后面的匿名方法的第一个参数$,这样就可以用 $符号使用$kit.$方法了,这样写出来的js代码就和jQuery代码完全一样。^^

 

需要注意的是,requireJs的define方法加载的模块,只有在代码内部定义了返回值时,才有返回对象,如果没有定义则和普通的异步加载js并执行无异,只是多了一个js依赖关系

有了这个依赖关系,我们确实可以省去显式申请很多的js代码的依赖了,是不?同学,赶紧试一试吧

 

jsdoc地址:http://xueduany.github.com/jsdoc/out/global.html#define

posted on   薛端阳  阅读(3447)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!

< 2012年6月 >
27 28 29 30 31 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
1 2 3 4 5 6 7
点击右上角即可分享
微信分享提示