模块化之AMD

前言

 

即将又是在北京的一个十一,突然想起了什么,去年好像十一也是在北京,也在**度过的。自从决全身心进入前端这个行当,也是很久没有这么安安静静地写一些东西了,以后的路很长,希望自己还是一样,一步一步地走踏实了。

 

正文

 

       AMD ---------  Asynchronous Module Definition

 

      异步模块定义 

 

       1、define

 

     参数

 

  • id
       模块标识  {String}
 
       参数是可选的
 
  • dependencies
       所依赖的模块
 
  • factory
       模块的实现,或者一个JavaScript对象

 

 

  官方提供的一个例子

 

  用require 和 exports

 

 

define("alpha",["require","exports","beta"],function(require,exports,beta){
       exports.verb = function(){
              return beta.verb();
              //or .... 
             // return require("beta").verb();
       }
});

 

 

  一个匿名的模块,返回一个对象

 

define(["alpha"],function(alpha){
     return {
          verb:function(){
               return alpha.verb() + 2;
          }
    };
});

 

  一个用简单的CommonJS包裹的方式来定义模块

 

define(function(require,exports,module){
       var a = require("a"),
             b = require("b");
       exports.action = function(){};
});

 

  自由定义的模块可以定义一个对象

 

define({
    add:function(x,y){
          return x + y;
    }
});

 

 

注释

 

dependencies的顺序和factory参数是一一对应的。

 

 

 

扩展阅读:

 

1、https://github.com/amdjs/amdjs-api/wiki/AMD

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值