javasript模块规范 - amd规范与cmd规范介绍

javasript模块规范 - amd规范与cmd规范介绍

ID:12963075

大小:32.73 KB

页数:16页

时间:2018-07-19

javasript模块规范 - amd规范与cmd规范介绍_第1页
javasript模块规范 - amd规范与cmd规范介绍_第2页
javasript模块规范 - amd规范与cmd规范介绍_第3页
javasript模块规范 - amd规范与cmd规范介绍_第4页
javasript模块规范 - amd规范与cmd规范介绍_第5页
资源描述:

《javasript模块规范 - amd规范与cmd规范介绍》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、JavaSript模块化    在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发?    模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行系统性的分解以之处理。模块化是一种处理复杂系统分解为代码结构更合理,可维护性更高的可管理的模块的方式。可以想象一个巨大的系统代码,被整合优化分割成逻辑性很强的模块时,对于软件是一种何等意义的存在。对于软件行业来说:解耦软件系统的复杂性,使得不管多么大的系统,也可以将管理,开发,维护变得“有理可循”。    还有一些对于模块化一些专业的定义为:模块化是软件系统的属性,这个系统被分解为

2、一组高内聚,低耦合的模块。那么在理想状态下我们只需要完成自己部分的核心业务逻辑代码,其他方面的依赖可以通过直接加载被人已经写好模块进行使用即可。首先,既然是模块化设计,那么作为一个模块化系统所必须的能力:    1.定义封装的模块。    2.定义新模块对其他模块的依赖。    3.可对其他模块的引入支持。    好了,思想有了,那么总要有点什么来建立一个模块化的规范制度吧,不然各式各样的模块加载方式只会将局搅得更为混乱。那么在JavaScript中出现了一些非传统模块开发方16式的规范CommonJS的模块规范,AMD(AsynchronousModuleDefinition

3、),CMD(CommonModuleDefinition)等。AMD与RequireJSAMD    AsynchronousModuleDefinition,用白话文讲就是异步模块定义,对于JSer来说,异步是再也熟悉不过的词了,所有的模块将被异步加载,模块加载不影响后面语句运行。所有依赖某些模块的语句均放置在回调函数中。    AMD规范定义了一个自由变量或者说是全局变量define的函数。    define(id?,dependencies?,factory);      AMD规范  https://github.com/amdjs/amdjs-api/wiki/AM

4、D    第一个参数id为字符串类型,表示了模块标识,为可选参数。若不存在则模块标识应该默认定义为在加载器中被请求脚本的标识。如果存在,那么模块标识必须为顶层的或者一个绝对的标识。    第二个参数,dependencies,是一个当前模块依赖的,已被模块定义的模块标识的数组字面量。    第三个参数,factory,是一个需要进行实例化的函数或者一个对象。16    创建模块标识为alpha的模块,依赖于require,export,和标识为beta的模块 1.define("alpha", [ "require", "exports", "beta" ], function

5、( require, exports, beta ){2.    export.verb = function(){3.        return beta.verb();4.        //or:5.        return require("beta").verb();6.    }7.});    一个返回对象字面量的异步模块1.define(["alpha"], function( alpha ){2.    return {3.        verb : function(){4.            return alpha.verb() + 1 ;5

6、.        }6.    }7.});    无依赖模块可以直接使用对象字面量来定义1.define( {2.    add : function( x, y ){3.        return x + y ;4.    }5.} );16    类似与CommonJS方式定义1.define( function( require, exports, module){2.    var a = require('a'),3.          b = require('b');4.5.    exports.action = function(){};6.} );   

7、 require();   requireAPI介绍 https://github.com/amdjs/amdjs-api/wiki/require    在AMD规范中的require函数与一般的CommonJS中的require不同。由于动态检测依赖关系使加载异步,对于基于回调的require需求强烈。    局部与全局的require    局部的require需要在AMD模式中的define工厂函数中传入require。1.define( ['require'], function(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。