js模块化开发
1;冲突:命名空间的出现,以防命名冲突:但是命名空间的出现只能降低冲突,并不能完全消除冲突var misvo = {};
misvo.a =10;
misvo.tab = function(){};
misvo.drag = function(){};
misvo.dialog = function(){};
2:依赖:
3:引出js模块化:seajs+gruntJs
--解决代码的可维护性
4:seajs如何解决?
(1):引入sea.js库
(2):如何变成模块?
-define
(3):如何调用模块?
-exports
-seajs.use
(4): 如何依赖模块?
-require
5: 模块的实现:
name: modulel.js
define(function(require,exports,module){
// 三个参数可写,可不写,但是建议写上,有顺序问题。sea下面的参数是不允许修改的
function show(){
alert(1);
}
// exports: 对外提供接口的对象
exports.show = show;
});
6: 在页面当中使用的方法:// 两个参数:地址,回调函数
seajs.use('./js/modulel.js',function(ex){ // 回调的参数可以随意写
// 使用相对地址也是可以的
//ex === exports;
ex.show(); //1
show(); //0
function show(){
alert(0);
}
});
sea默认根目录是sea.js这个文件