本文和大家分享的主要是Javascript中的AMD
模块化规范相关内容,一起来看看吧,希望对大家
学习javascript有所帮助。
现今通行的模块化规范有三种AMD
、
CMD
和
Commonjs
(
AMD
和
CMD
是
Commonjs
衍生出来的模块化,
Commonjs
应该也是
CMD
)
服务器环境(CommonJs
)
2009
年,当
nodejs
被美国程序员
Ryan Dah
开发出来后,
javascript
也可以作为服务器端语言,开发服务器功能,但是为了解决服务器端的复杂性,开发
Commonjs
来使
javascript
模块化操作。
假定有一个数学模块math.js
var math=require("math");
然后就可以调用它模块方法了
var math=require("math");math.add(2,3);//
得到
5
浏览器环境(AMD
)
var math=require("math");math.add(2,3);//
得到
5
上面这段代码是Commonjs
的模块化,但是很明显有一个缺点,可以看出需要先加载
math
这个模块,获取再调用
add()
,这样可能会浏览器出现卡死的情况,因为同步执行,
js
没有执行完无法继续加载页面,所以就使用到
异步加载模块
,AMD
就是异步加载模块规范,待模块加载完成后,自动回调方法。 require([module], callback);
require(['math'],function(math){
math.add(2,3);
});
这样的话,就算模块未加载完成也不会造成页面假死
目前使用AMD
规范是流行库,
require.js
和
curl.js
,异步模块化益于浏览器端
来源:网络