zoukankan      html  css  js  c++  java
  • sea.js学习笔记

    在 CMD 规范中,一个模块就是一个文件

    • define(fatctory)是一个全局函数
    • define接受factory参数,factory可以是一个函数,也可以是一个对象或者字符串。
      • factory为函数时,表示是模块的构造方法,执行该构造方法,可以得到模块向外提供的接口。factory方法在执行时,默认会传递三个参数:require、exports和module:如下

     define(function(require,exports,module){

      //模块代码

    });    

        • require是factory的第一个参数
        • require(id)是一个方法,接受模块标识作为唯一参数,用来获取其他模块提供的接口。

    define(function(require,exports){

      //获取模块接口

      var a = require('./a');

      //调用模块a的方法

      a.dosometiong();

    })

          • require.async(id,callback)----方法用来在模块内部异步加载,并在加载完成后执行指定回调。callback参数可选。

    define(function(require,exports,module){

      //异步加载一个模块,在加载完成时,执行回调

      require.async('./b',function(b){

      b.doSomething();

    })

      //异步加载多个模块,在加载完成时,执行回调

      require.async(['./c','./b'],function(c,b){

      c.doSomething();

      b.doSomething();

    })

    注意require 是同步往下执行,require.async 则是异步回调执行。require.async 一般用来加载可延迟异步加载的模块。

          • require.resolve(id)略
        • exports 是一个对象,用来向外提供模块接口。
        • 除了给 exports 对象增加成员,还可以使用 return 直接向外提供接口。(略)
        • modules是一个额对象,上面存储了与当前模块相关联的一些属性和方法。(略)

    define(function(require,exports){

    //对外提供foo属性

    exports.foo = 'bar';

    //对外提供doSomgthion方法

    exports.doSomething = function(){};

    })    

        • 除了给 exports 对象增加成员,还可以使用 return 直接向外提供接口。
    • define也可以接受两个以上参数。字符串id表示模块标识,数组deps是模块依赖。比如

     define('hello',[jquery],funtion(require,exports,module){

      //模块代码

    });

       注意:id 和 deps 参数可以省略。省略时,可以通过构建工具自动生成。



    模块系统的启动

    在 Sea.js 里,要启动模块系统:

    <script src="path/to/sea.js"></script>

    <script>

    seajs.use('./main');

    </script>

    • seajs.use用来在页面中加载模块
    • seajs.use(id.callback)--通过use方法,可以在页面中加载任意模块:

    //加载模块main,并在记载完成时,执行指定回调

    seajs.use('./main',function(main){

      main.init();

    });

    • use方法还可以一次加载多个模块:

    //并发记载模块a和模块b,并在都加载完成时,执行指定回调

    seajs.use(['./a','./b'],function(a,b){

      a.init();

      b.init();

    })

      callback 参数可选,省略时,表示无需回调。


      配置文件

    • 配置可以直接写在 html 页面上,也可以独立出来成为一个文件。
    // seajs 的简单配置
    seajs.config({
      base: "../sea-modules/",
      alias: {
        "jquery": "jquery/jquery/1.10.1/jquery.js"
      }
    })
    // 加载入口模块
    seajs.use("../static/hello/src/main")
     

       独立成一个文件时,一般通过 script 标签在页面中同步引入。

  • 相关阅读:
    Android获取IMEI码
    Android动态壁纸的制作教程
    Android编程之解决androidsupportv4打包问题
    获取文字的宽度(android)
    json 数据格式
    Android隐藏标题栏,全屏显示
    android 解析json数据格式(转)
    RelativeLayout 布局属性
    anroid 样式列表
    Windows Phone 7 淺談手勢(Gestures)運作
  • 原文地址:https://www.cnblogs.com/limin-cn/p/4071259.html
Copyright © 2011-2022 走看看