Js的模块系统

原创
小哥 3年前 (2022-11-16) 阅读数 36 #大杂烩
// 现代模块机制
var MyModules = (function Manager() {
  var modules = {};
  function define(name, deps, impl) {
    for (var i = 0; i < deps.length; ++i) {
      deps[i] = modules[deps[i]];
    }
    modules[name] = impl.apply(impl, deps);
  }
  function get(name) {
    return modules[name];
  }
  return {
    define: define,
    get: get,
  };
})();

MyModules.define("bar", [], function(){
    function hello(who){
        return "let me introduce: " + who;
    }
    return {
        hello: hello
    };
});

MyModules.define("foo", ["bar"], function (bar){
    var hungry = "hippo";

    function awesome(){
        console.log( bar.hello(hungry).toUpperCase());
    }
    return {
        awesome: awesome
    };
});

var bar = MyModules.get("foo");
var foo = MyModules.get("bar");
console.log( bar.hello("haha"));
foo.awesome();

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门