码迷,mamicode.com
首页 > 其他好文 > 详细

Asynchronous Module Definition (AMD)

时间:2015-09-19 12:32:12      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:


1、AMD

AMD 规范全称是 Asynchronous Module Definition,即异步模块加载机制。AMD很短也很简单,但它却完整描述了模块的定义,依赖关系,引用关系以及加载机制。

关键是它采用异步方式加载模块,模块的加载不影响它后面语句的运行。所有依赖这个模块的语句,都定义在一个回调函数中,等到加载完成之后,这个回调函数才会运行。


2、AMD实现

目前,主要有两个Javascript库实现了AMD规范:require.js 和 curl.js ;



3、AMD 相关

CommonJS中,有一个全局性方法require(),用于加载模块,根据格式规范加载之后便能使用,

var add = require(‘math‘).add;exports.increment=function(val){return add(val,1);};

CommonJs 是服务器端模块的规范,Node.js采用了这个规范。

根据CommonJS规范,一个单独的文件就是一个模块。加载模块使用require方法,该方法读取一个文件并执行,最后返回文件内部的exports对象。 

CommonJS 加载模块是同步的,所以只有加载完成才能执行后面的操作。像Node.js主要用于服务器的编程,加载的模块文件一般都已经存在本地硬盘,所以加载起来比较快,不用考虑异步加载的方式,所以CommonJS规范比较适用。但如果是浏览器环境,要从服务器加载模块,这是就必须采用异步模式。所以就有了 AMD 解决方案。 









Asynchronous Module Definition (AMD)

标签:

原文地址:http://my.oschina.net/heweipo/blog/508470

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!