javascript AMD规范简单介绍

吐槽君 分类:实例代码

建议事先参阅javascript如何实现模块编程简单介绍一章节。

更多此规范的相关内容可以参阅js AMD规范介绍一章节。

AMD规范就是用在前端模块化编程。即便我们代码都实现了模块化编程,但是如果遵循的规范各不相同,那也是非常麻烦的。

当前javascript有两种模块化编程规范:

(1).CommonJS。

(2).AMD。

CommonJS规范简单介绍:

此规范是用在服务器端的,node.js的出现,使得此规范就应运而成,因为服务器端的编程非常的复杂,不采用模块化编程是难以想象的。CommonJS是同步加载,适合于服务器端,因为代码都是本地存储的,基本没有什么延迟。

看如下代码:

var math = require('math');
math.add(5,3); // 8

CommonJS中,有一个全局性方法require(),用于加载模块。假定有一个数学模块math.js,然后我们加载并调用此数据模块中的add()方法。这在服务器端没有任何问题,但是在前端则存在很多隐患,如果网络有延迟,那么代码就会停顿在此位置。随意异步加载的AMD规范适合前端。

AMD规范:

此规范的全程是Asynchronous Module Definition,也就是异步模块定义,它采用异步方式加载模块,模块的加载不影响它后面语句的运行。所有依赖这个模块的语句,都定义在一个回调函数中,等到加载完成之后,这个回调函数才会运行。

AMD也采用require()语句加载模块,但是不同于CommonJS,它要求两个参数:

require([module], callback);

第一个参数[module],是一个数组,里面的成员就是要加载的模块。

第二个参数callback,则是加载成功之后的回调函数。如果将前面的代码改写成AMD形式,就是下面这样:

require(['math'], function (math) {
  math.add(5, 3);
});

math.add()与math模块加载不是同步的,浏览器不会发生假死。所以很显然,AMD比较适合浏览器环境。

当前比较常用的一个AMD规范就是require.js。

关于require.js的用法可以参阅以下两篇文章:

(1).require.js的作用简单介绍一章节。

(2).require.js用法介绍一章节。

javascript AMD规范简单介绍,这样的场景在实际项目中还是用的比较多的,关于javascript AMD规范简单介绍就介绍到这了。

javascript AMD规范简单介绍属于前端实例代码,有关更多实例代码大家可以查看

javascript AMD规范简单介绍

回复

我来回复
  • 暂无回复内容