现在的位置: 首页 > web前端 > 正文

wed前端基础知识模块加载原理

2019年11月18日 web前端 ⁄ 共 962字 ⁄ 字号 评论关闭

  var kModule = (function(){

  var modules = {}

  ,config = {}

  ,define = function(deps,factory){

  typeof deps == 'function' && (

  factory = deps,

  deps = []

  )

  if(!Array.isArray(deps)){

  deps = [deps];

  }

  var exports = function(name,impl){

  if(!modules[name]){

  kModule[name] = modules[name] = impl;

  }

  }

  typeof factory == 'function' && factory.apply(factory,[exports])

  }

  ,require = function(deps,handle){

  typeof deps == 'function' && (

  handle = deps,

  deps = []

  )

  if(!Array.isArray(deps)){

  deps = [deps];

  }

  for(let i = 0; i < deps.length; i++){   deps[i] = modules[deps[i]]   }   handle.apply(handle,deps);   }   return {   define:define,   require:require,   };   })();   kModule.define(function(exports){   var initTable = function(){   return "初始化表格模块";   }   var tableImpl = {   initTable:initTable   }   exports('table',tableImpl)   });   //第一种调用方式   kModule.require('table',function(){   var table = kModule.table   alert(table.initTable());   });   //第二种调用方式   kModule.require('table',function(table){   alert(table.initTable());   });

抱歉!评论已关闭.