qyl_anikin

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这个文件


















上一篇 下一篇
评论
©qyl_anikin | Powered by LOFTER