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

来源:互联网 发布:淘宝女装客服常用语 编辑:程序博客网 时间:2024/05/02 02:49

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,构建工具

原创粉丝点击