模块化开发(seajs)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript" src="js/sea.js"></script>
<script type="text/javascript">
//seajs  :http:seajs.org 官网
//seajs的使用:

//1  引入sea.js的库
//2  如何变成模块?
     //define
//3 如何调用模块
      //exports
      //seajs.use
//4  如何依赖模块?
     //require      
    
    //seajs.use:页面去调用模块,参数一:模块的地址,参数二:地址加载成功后的回调函数 
    //seajs的默认根目录:sea.js
    seajs.use('./javascript/test1.js',function(ex){//回调的参数就是模块中的exports
    
      ex.tab(); //调用返回123
    
    });
</script>
</head>

<body>
</body>
</html>



//test1.js:
// JavaScript Document

define(function(require,exports,module){//参数固定,写法不变
            //exports:     对外的接口
            
            //require :依赖的接口
            
            //require('./test2.js');//如果地址是一个模块的话,那么require的返回值就是模块中的exports
            
            //require.async();  异步模式
              //require('./test2.js');
              
              require.async('./test2.js',function(ex){
                                ex.a;                  
                             })//异步调用,按需加载
              
                function tab()
                {
                     alert(require('./test2.js').a);
                }
            exports.tab=tab;    
})


//test2.js:

// JavaScript Document
//var a=10;


define(function(require,exports,module){//参数固定,写法不变
            //exports:     对外的接口
            //require :依赖的接口
            
            var a=10;
            exports.a=a;
})

 

你可能感兴趣的:(seajs)