AMD规范和RequireJS模块化

什么是AMD模式?
define和require两个定义模块调用模块的方法合称为[b]AMD模式[/b]。
**用于浏览器环境,允许异步加载模块,也可以根据需要动态加载模块。

1.引入require.js到网页,网页中就能进行模块化编程了


<p class="pp" style="display:none">default hidden</p>
<script data-main="javascripts/test.js" src="/components/requirejs/require.js"></script>

data-main加载主文件,指定主代码所在的脚本文件,不可省略。

2.定义模块
1)独立定义模块:不依赖其他模块的模块
define(function (){
return {
add: function (a, b) {
return a + b;
}
};
});


2)非独立模块:依赖其他模块的模块

//第一个参数是数组:成员是当前模块依赖的模块
//第二个参数是函数:参数与数组成员一一对应,前面数组所有成员加载成功后才被调用。返回一个对象供其他模块调用。define(['jquery'],function(jquery){
return {//函数返回值就是输出的模块
showme:function(el){
$(el).show();
}
};
});


3.主模块require调用模块


//第一个参数是数组:表示依赖关系
require(['config','math/math','math/show'], function (config,math,show) {
debugger;
console.log(math.add(1,2));
show.showme('.pp');
});


4.配置require.js config方法
1)paths:指定各个模块的位置。
2)baseUrl:指定本地模块位置的基准目录。
3)shim:帮助require.js加载非AMD规范的库

require.config({
paths : {
jquery : '../components/jquery/dist/jquery',
angular: '../components/angular/angular'
}
shim : {
angular: {
exports: 'angular'
}
//backbone 依赖于underscore,输出符号为'Backbone'
backbone:{
deps:['underscore'],
exports:'Backbone'
}
underscore:{
exports:'_'
}
}
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值