模块加载原理
程序员文章站
2022-08-19 21:10:06
var depMods = (function(){ var modules = {}; var defined = function(name,deps,impl){ typeof deps == 'function' && ( impl = deps, deps = [] ) if(deps.l ......
var depmods = (function(){ var modules = {}; var defined = function(name,deps,impl){ typeof deps == 'function' && ( impl = deps, deps = [] ) if(deps.length > 0){ for(let i = 0; i < deps.length; i++){ deps[i] = modules[deps[i]] } } !modules[name] && (modules[name] = impl.apply(impl,deps)) } var require = function(deps,handle){ if(!array.isarray(deps)){ deps = [deps]; } for(let i = 0; i < deps.length; i++){ deps[i] = modules[deps[i]] } handle.apply(handle,deps); } return { defined:defined, require:require } })(); depmods.defined('table',function(){ var inittable = function(){ return "初始化表格模块"; } return { inittable:inittable } }); depmods.require('table',function(table){ alert(table.inittable()); });
推荐阅读
-
python用模块zlib压缩与解压字符串和文件的方法
-
iOS 加载Bundle文件的实例代码
-
使用async属性异步加载执行JavaScript的方法
-
react通过axios请求数据,用一个bol来判断数据是否加载完成后,渲染在页面上,不用async await和定时器的更好方法
-
Vue 动态加载 Vuex
-
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
-
详解springMVC容器加载源码分析
-
如何实现javascript延时加载
-
《Python 3》--三引号、math模块、cmath模块、日期和时间、转义字符、字符串运算符、字符串格式化、函数、全局变量和局部变量、匿名函数(lambda))
-
详解Angular中的结构型指令、模块和样式