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:模块之间依赖的接口.

  • 如何依赖模块?require

 

nodeJS的出现

  commonJS规范:针对服务器端js的一些规范

浏览器js的模块化:AMD(requireJS),CMD(seaJS);

AMD规范抛开了commonJS规范,CMD规范在commonJS基础上.

 

posted on 2016-12-13 18:21  夜行锦衣  阅读(60)  评论(0编辑  收藏  举报

导航