代码详解javascript模块加载器

2019-11-16,,,

定义

var MyModules = (function Manager() {
  var modules = {};
  function define (name, deps, impl) {
    for(var j = 0, length = deps.length; j < length; j++){
      deps[j] = modules[deps[j]];
    }
    modules[name] = impl.apply(impl, deps);
  }

  function get (name) {
    return modules[name];
  }

  return {
    define: define,
    get: get
  }
})();

使用

MyModules.define('test1', [], function() {
  function hello(name) {
    console.log(name);
  }
  
  return {
    hello: hello
  }
});

MyModules.define('test2', ['test1'], function(test1) {
  function age(name, age) {
    console.log(test1.hello(name));
    console.log(age);
  }
  
  return {
    age: age
  }
});

MyModules.get('test2').age('mumu', '27');

以上就是本次分享的全部代码内容,大家可以测试下,如果还有任何不明白的地方可以在下方的留言区讨论,感谢大家对北冥有鱼的支持。

您可能感兴趣的文章:

  • 深入理解requireJS-实现一个简单的模块加载器
  • 概述如何实现一个简单的浏览器端js模块加载器
  • 通过实例解析js简易模块加载器

《代码详解javascript模块加载器.doc》

下载本文的Word格式文档,以方便收藏与打印。