Ruby's Louvre

每天学习一点点算法

导航

2012年11月21日 #

一个简单的加载系统

摘要: var check = {}require = function(name, callback){ //name切割成多个模块名,然后转换为URL //for循环 //这里会运行于iframe中 var s = document.createElement("script") document.body.appendChild(s) s.src = name //for循环结束 check[name] = callback //以后check[name]会对应一个对象}//这是执行回调require.exec = function(factory... 阅读全文

posted @ 2012-11-21 10:11 司徒正美 阅读(1407) 评论(0) 推荐(0) 编辑

判定模块加载时是否存在循环依赖

摘要: 循环依赖是所有语言的加载器都是大头的问题,除非你的模块都是像spring那么利用Ioc进行控制反转,那么出现循环依赖就是死结。对此,我们唯一能做的事是,在第一个循环依赖出现时就立即通知用户查看它们的依赖列表。在AMD大肆普及动态加载的好处后,大家应该隐藏知道有两个方法干这事。一个定义模块的define方法,另一个是加载模块的require方法。define方法的参数为define(name?, deps? ,factroy), 换言之模块名与依赖列表都不是必须的,require参数为require(names , callback)。当我们用require一组模块,将它们的返回值传到回调中前, 阅读全文

posted @ 2012-11-21 10:07 司徒正美 阅读(4940) 评论(2) 推荐(2) 编辑