博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Asynchronous Module Definition (AMD)
阅读量:6871 次
发布时间:2019-06-26

本文共 696 字,大约阅读时间需要 2 分钟。

hot3.png

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 解决方案。 

转载于:https://my.oschina.net/heweipo/blog/508470

你可能感兴趣的文章
dataguard 切换保护模式
查看>>
__FILE__ __DATE__ __TIME__ __LINE__
查看>>
关于linux系统下iptables下的管理的8种命令
查看>>
find工具
查看>>
我的友情链接
查看>>
Java 实现把字符串转换成整数【底层实现】
查看>>
五大常见的MySQL高可用方案
查看>>
自己搭建练习sql语句的环境~
查看>>
quotacheck: Cannot create new quotafile /data/aquota.group.new: Permission denied
查看>>
从0到33600端口详解
查看>>
EJS甘特图控件下载购买地址
查看>>
MST多重生成树协议
查看>>
python 多用户发邮件
查看>>
Python列表copy
查看>>
Spring自定义标签解析与实现
查看>>
Python:itertools模块-groupby
查看>>
合理看待团队的良性冲突
查看>>
Nginx用户认证与域名重定向
查看>>
区块链技术的核心概念
查看>>
linux下磁盘I/O查看
查看>>