js模块加载seajs


http://seajs.org/docs/#docs

http://blog.csdn.net/lfsf802/article/details/26758567

SeaJS支持如下几种方式:

 

第一种:绝对路径--给出js文件的绝对路径

 

[javascript]  view plain copy print ?
  1. require("http://example/js/a");  

 

第二种:相对路径--用相对调用载入函数所在js文件的相对地址寻找模块

 

[javascript]  view plain copy print ?
  1. require("./c");  


 第三种:通过全局变量来匹配相对路径:相对SeaJS全局配置中的“base”来寻址(后面文章会介绍到)

 

 

SeaJS提供了三种载入的方式:seajs.use,require和require.async

 

第一种:seajs.use


       seajs.use主要用于载入入口模块。入口模块相当于JAVA程序的main函数,同时也是整个模块依赖树的根。

 

       这种方式有几种写法:

 

[javascript]  view plain copy print ?
  1. //单一模式  
  2. seajs.use('./a');  
  3.    
  4. //回调模式  
  5. seajs.use('./a'function(a) {  
  6.   a.run();  
  7. });  
  8.    
  9. //多模块模式  
  10. seajs.use(['./a''./b'], function(a, b) {  
  11.   a.run();  
  12.   b.run();  
  13. });  

 

        一般seajs.use只用在页面载入入口模块,SeaJS会顺着入口模块解析所有依赖模块并将它们加载。如果入口模块只有一个,也可以通过给引入sea.js的script标签加入”data-main”属性来省略seajs.use。

 

       来个小实例来说明一下:


[html]  view plain copy print ?
  1.    
  2. <!DOCTYPE HTML>  
  3. <html lang="zh-CN">  
  4. <head>  
  5.     <meta charset="UTF-8">  
  6.     <title>TinyApp</title>  
  7. </head>  
  8. <body>  
  9.     <p class="content"></p>  
  10.     <script src="./sea.js" data-main="./init"></script>  
  11. </body>  
  12. </html>  


 

第二种:require

 

       require是SeaJS主要的模块加载方法,当在一个模块中需要用到其它模块时一般用require加载:ar a = require('a'); //引入a模块

 

第三种:require.async

 

      之前的require方式是一次把所有依赖的JS文件都加载进来,如果想什么时候用到什么时候加载的话就会用这种方式,这种方式效率比require高一些。

 

       通过上面的介绍,应该对SeaJS的模块载入和引用有所了解了,其实者通过这几篇的介绍会发现SeaJS的模块化编程思想和它带给开发人员的简单易用的特点。下篇博客介绍一下SeaJS的全局配置。


你可能感兴趣的:(js模块加载seajs)