AMD规范就是其中比较著名一个,全称是Asynchronous Module Definition,即异步模块加载机制。从它的规范描述页面看,AMD很短也很简单,但它却完整描述了模块的定义,依赖关系,引用关系以及加载机制。从它被requireJS,NodeJs,Dojo,JQuery使用也可以看出它具有很大的价值,没错,JQuery近期也采用了AMD规范。在这篇文章中,我们就将介绍AMD的性质,用法,优势以及应用场景。从AMD中我们也能学习到如何在更高层面去设计自己的前端应用。
作为一个规范,只需定义其语法API,而不关心其实现。AMD规范简单到只有一个API,即define函数:
define([module-name?], [array-of-dependencies?], [module-factory-or-object]);
参考:https://blog.csdn.net/qq_16633405/article/details/77961539
例子:
define(“alpha”, [“require”, “exports”, “beta”], function (require, exports, beta) {undefined
exports.verb = function() {undefined
return beta.verb();
//或者:
return require(“beta”).verb();
}
});
>>requirejs是基于AMD规范的实现:npm install requirejs
requirejs:杏仁的优化(almond):https://www.cnblogs.com/chyingp/p/requirejs-almond-introduction.html
在ES6出现之前,JS不像其他语言同样拥有“模块”这一概念,于是为了支持JS模块化,出现了各种各样的语言工具,如webpack,如ReuqireJS。https://www.jianshu.com/p/c90fff39c225