一js模块化编程
好处:1.减少变量名冲突
2.解决js加载顺序问题,即依赖
3.代码模块化
二应用
<script src="requirejs.js" data-main="main.js"></script>
data-main属性引入入口文件
三主要方法
1.给模块定义别名
requirejs.config({
path:{
jquery:'jquery-1.11.3.min'
}
});
2.引入模块
requirejs(['jquery','validate'],function($,validate){
console.log(validate.isEqual(1,2));
});
3.定义模块,模块名为文件名
模块化编程后需要用return暴露,外界才能访问,因此写在return返回的对象中。
define(['jquery'],function($){
return{
isEqual:function(...){...},
checkLength:function(...){...}
};
});
所有模块得放在baseurl下,baseurl是相对于html的
如未显式设置baseUrl,则默认值是加载require.js的HTML所处的位置。如果用了data-main属性,则该路径就变成baseUrl。
本js中有baseurl,require()中路径基于baseurl;
本js中无baseurl,require()中路径可基于相对路径(对本js的),也可基于baseurl
http://www.tuicool.com/articles/iiQ7Jj