JS模块化规范之AMD

模块规范

AMD(Asynchronous Module Definition)

概念

Asynchronous Module Defintion
CommonJS规范加载模块是同步的,也就是说,只有加载完成,才能执行后面的操作。AMD规范则是非同步加载模块,允许指定回调函数。由于Node.js主要用于服务器编程,模块文件一般都已经存在于于本地硬盘,所以加载起来比较快,不用考虑非同步加载的方式,所以CommonJS规范比较适用,但是,如果是浏览器环境,要从服务器端加载模块,这时就必须采用非同步模式,因此浏览器端一般采用AMD规范,此外AMD规范比CommonJS规范在浏览器端实现要来着早。

基本语法

定义暴露模块:

//定义没有依赖的模块
define(function(){
   
	return 模块
})
//定义有依赖的模块
define(['module1','module2'],function(m1,m2){
   
	return 模块
})

引入使用模块:

require(['module1','module2'],function(m1,m2){
   
	使用m1,m2
});

AMD实现

通过比较是否使用AMD,来说明使用AMD实际使用的效果。

未使用AMD规范
//dataService.js文件
(function (window){
   
	let msg = 'www.baidu.com';
	function getMsg(){
   
		return msg.toUpperCase()
	}
	window.dataService = {
    getMsg }
})(window);
//alerter.js文件
(function (window,dataService){
   
	let name = 'huaxue'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值