现代的模块机制

大多数模块依赖加载器/ 管理器本质上都是将这种模块定义封装进一个友好的API

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <script type="text/javascript">
      var MyModules=(function Manager(){
        var modules={};
        function define(name,deps,impl){
          for(var i=0;i<deps.length;i++){
            deps[i]=modules[deps[i]];
          }
          console.log(deps);
          modules[name]=impl.apply(impl,deps)
        }
        function get(name) {
          return modules[name];
        }
        return {
          define:define,
          get:get
        }
      })()

  MyModules.define("bar",[],function (words) {

    function hello(who){
      console.log(words);
      return "Let me introduce:"+who;
    }
    return {
      hello:hello
    }
  })

  MyModules.define("foo",["bar"],function(words){
    var hungry="hippo";
    function awesome(){
      console.log(words);
      console.log(bar.hello(hungry).toUpperCase());
    }
    return {
      awesome:awesome
    }
  })

    var bar=MyModules.get("bar");
    var foo=MyModules.get("foo");

    console.log(bar.hello("hippo"));
    foo.awesome();
  </script>
  <body>

  </body>
</html>

 

转载于:https://www.cnblogs.com/saonian/p/9707882.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值