简单的js模块加载

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, name, list){
  var ret = factory.apply(null, list || [])
  check[name](ret)
}
//这是模块用到define方法
define = function(name, callback, list){
    //这大大被简化了,还要从URL还原name,处理依赖列表
    var str = "require.exec(" + callback.toString() +",‘"+name +"‘)"
    var s = document.createElement("script")
    document.body.appendChild(s)
    s.text = str;
}

  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。