js模块化
解决:依赖,冲突问题
var dw ={};//命名空间:缺点-->名字比较长;只能降低冲突,不能完全避免. dw.a =10; dw.tab=function(){}; dw.drag = function(){}; dw.dialog=function(){};
如何解决?
Sea.js库
- 引入sea.js库
- 如何变成模块
-define - 如何调用模块
-export:对外提供接口的对象
-seajs.use():两个参数:第一个参数:模块的地址.第二个参数:回调函数.
sea的默认根目录:sea.js这个文件.
//module1.js文件 define(function(require,exports,module){ //sea下的参数:不允许修改 function show(){ alert(1); } exports.show = show; }); seajs.use('./js/module1.js',function(ex){ // console.info(ex); //接收两个参数 ex.show(); });
- 如何依赖模块?require
nodeJS的出现
commonJS规范:针对服务器端js的一些规范
浏览器js的模块化:AMD(requireJS),CMD(seaJS);
AMD规范抛开了commonJS规范,CMD规范在commonJS基础上.