JS模块化开发-CMD、AMD模式

JS模块化开发是目前非常流行的JS开发模式,目前模块化开发主要有两种形式,一种是以CommonJS为代表的CMD(Common Module Definition--通用模块定义)模式,一种是以require.js为代表的AMD(Asynchronous Module Definition--异步模块定义)模式。


我们看下CMD和AMD模块定义:

CMD:

define(function(require, exports, module) {} );//function代表factory

AMD:

define(id?, dependencies?, factory);
CMD和AMD的本质区别体现在factory函数上,对于CMD模式来说,在factory执行时才通过require加载依赖的模块,但对于AMD方式来说,依赖模块是通过dependencies引入的,必须在factory函数执行之前先执行。

关于这两种模式的网络上也有激烈的探讨:AMD,CMD

JS模块化编程的诞生,主要起源于2009年,Ryan Dahl创建的Node.js项目,将javascript应用于服务器端编程,模块化对于构建复杂的JS项目必不可少。当前浏览器端构建复杂项目的情况也越来越多,前端模块化编程的框架也越来越多,比较典型的像ExtJS4.2(这个是很重量级的框架)、国内很火的Sea.js(小巧的模块加载器)和国外的browserify

现在说一说Sea.js,Sea.js是支付宝玉伯开发的,在CSDN有玉伯的专访,个人非常佩服,真正的技术达人。

Sea.js的构建工具有spm和grunt,构建工具

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值