Javascript模块规范的AMD规范和CMD规范

Javascript模块规范的AMD规范和CMD规范
模块化是指解决一个复杂问题或一系列的其他问题,根据思维的问题分解处理分类系统。模块化是一种处理管理模块是将复杂系统分解为更合理、更易于维护,并且更易于维护的代码。可以想象一个庞大的系统代码的存在时,整合优化成一个逻辑模块,软件行业,解耦软件系统的复杂性使得它可以管理,开发和维护,无论系统有多大。

对模块化也有一些定义,即模块化是软件系统的属性。该系统被分解成一组高内聚、低耦合的模块,在理想状态下,只需完成自己的核心业务逻辑代码,并可以通过已编写的模块直接加载依赖项的其他方面。

1。AMD
AMD只有一个接口:定义(id、依赖项、工厂);
它必须在声明模块时生成所有依赖项(DEP),也作为工厂的参数,如下所示:

复制代码代码如下所示:

定义({ 'dep1 ','dep2},功能(DEP1,DEP2){…});
如果不需要依赖它,就可以定义一个简单的模块。

定义(函数(){())
var导出= { };
exports.method =函数(){…};
返回出口;
});

这里是定义,包装。在节点实现中,我怎么看不到定义关键字它也需要包装起来。实际上,它只是节点的隐式包装器。
RequireJS是AMD的规范实施
二,CMD
于波写道seajs,遵循CMD规范,他提出,比AMD强一点点,它使用更方便。
三、AMD和CMD的区别
CMD相当于按需加载。在定义一个模块时,它不需要立即建立依赖模块。当需要时,它可以更方便,而AMD是相反的。在定义模块时,我们需要开发依赖模块,并将工厂引入到参数的形式中。

AMD模式定义模块

定义({ 'dep1 ','dep2},功能(DEP1,DEP2){
该模块只能使用内部/。
返回(函数){ };
});

定义(函数(需求,导出,模块){)
在这里,如果您需要一个xx模块,可以引入
VaR XX =需要('xx);
});

和seajs也具有使用功能,需要引入到所有相关的模块,如

/ / seajs.use模式
seajs.use({ 'dep1 ','dep2},功能(DEP1,DEP2){
在这里,交易的实现
});
四、插件支持
但是有两个更流行的Javascript模块化系统在世界各地,一个是CommonJS通过节点,而另一个是AMD。许多类库支持AMD和CommonJS的同时,但不支持CMD。也许这个国家有许多命令模块,但他们是不受欢迎的世界。

现在火的反应和周围的类库直接使用CommonJS模块的系统,使用NPM管理模块和输出模块使用browserify包装。

在不久的将来,在新的模块化标准6可能要按照新的标准,而且AMD和CMD可不用时间。

但现在,前端开发是真的没有模块化编程、模块化编程和现在仍推荐seajs,虽然很多插件需要添加或修改一个很小的代码来支持它。但它可以反复使用,而不会影响其他标准支持的整体计算。更方便实用。

AMD和CMD之间的区别是什么

看着上面的AMD,requirejs和CMD,对seajs简单介绍会感到有一点模糊的感觉更相似,因为,像requirejs,不仅仅是AMD的固有观念,而且具有CMD规范理念。它只推荐AMD规格。seajs也是一样的。

下面是AMD和CMD之间的区别的解释:
AMD是归一化输出requirejs的模块定义的延伸过程中。
CMD是归一化输出seajs的模块定义的延伸过程中。
类似于CommonJS模块/ 2规范,还有很多的模块定义归一化输出bravojs推广过程。
这些规范的目标是Javascript的模块化开发,尤其是在浏览器端。

目前,这些规范的实现可以达到浏览器端模块化开发的目的。

差异uff1a

1。相关模块,AMD的执行时间提前,和CMD延迟执行。但requirejs已经从2延迟执行(根据不同的写作方法)。加利福尼亚赞赏尽可能懒惰。
2。CMD佩服相依,AMD佩服依赖介词。看代码:

定义(函数(需求,导出,模块){)
var =需要()
A.doSomething()
省略100行
var(=)依赖性可以接近于写
B.doSomething()

})
默认值是建议的

必须定义({、、、}、函数(a,b))依赖项
A.doSomething()
省略100行
B.doSomething()

})
虽然AMD也支持CMD的写作,它也支持作为依赖的要求。但RequireJS的作者默许最喜欢上面的方法,也是默认的模块定义官方文件
三.AMD的API默认是在多次使用CMD的API,严格区分责任,羡慕单。例如,在AMD,需要分为全球需要和当地的需要,所有的需要。在CMD,没有全球性的需要,但基于模块的系统的完整性,seajs.use提供实现该模块系统的加载启动

在CMD中,每个API都是简单而纯净的。
4、有一些细节的区别,具体的规范定义是好的,没什么要说的。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部