美文网首页
五分钟学会Seajs

五分钟学会Seajs

作者: birdshome | 来源:发表于2017-01-05 15:32 被阅读0次
    • 1:引入包文件 sea.js
    • 2: 启动seajs.use('./main') 设置启动入口模块 参数可以不需要.js后缀
    <html>
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>06_seajs基本使用</title>
    </head>
    <body>
      <!-- 1:引包 -->
      <script src="../seajs-3.0.0/dist/sea.js" charset="utf-8"></script>
      <!-- <script src="./one.js" charset="utf-8"></script>
      <script src="./two.js" charset="utf-8"></script> 不适用seajs加载的方式,需要注意文件顺序-->
      <!-- 2: 启动seajs 并且指定入口模块 -->
      <script type="text/javascript">
        seajs.use('./one');
      </script>
    </body>
    </html>
    
    
    • 3: 声明一个模块:模块在define();内部包裹
    • 4: 需要向外暴露值,通过module.exports来返回
    define(function(require,exports,module){
          // 如果这个模块需要别的模块的返回值
          var aaa =require('模块路径ID');//返回对方模块内部的module.exports
          module.exports = 返回值;
    });
    
    
    • 在模块内部,声明的变量,都是模块的作用域
      + 在CMD中,一个模块就是一个文件,外部无法访问
      + 如果需要访问,通过module.exports 向外暴露

    define参数的三种方式

    • 字符串 define('123')

    define('我是字符串');

    • 对象define({name:'aaa'})

    define({name:'gaga',age:19});

    • 函数define(function(require,exports,module){})
    define(function(require,exports,module){
      // module.exports = {nane:'jack'}
      return 'abcl';
    })
    

    exports和module.exports的小问题

    • 模块被加载的时期,这两个对象都指向一块内存,该内存初始值是一个空对象

    • 不管任意改变哪个对象的内存指向 (对象=值),最终仍然返回module.exports对象

    • 如果module.exports 和exports让你头晕脑胀,建议使用module.exports

    • 框架的使用尽量遵守其规则,基于define内部解析对象,根据参数的数据来,顺序不要改变

    • module.exports 用来赋值并暴露,exports用来给暴露的对象挂载属性,就是一个简写

    Use的2种方法

    • use函数是一个异步函数
      • 异步:不阻塞后续代码执行
      • 同步:当前函数不执行完毕,下一行代码无法执行
    seajs.use('./a',function(a){
        code....
      })
      // 着重掌握
      seajs.use(['./a','./b'],function(a,b){
        code..
      })
    
    • seajs.use 第二个参数是一个函数,内部参数与传入的加载模块的返回值的顺序一致

    总结

    图像 1.png 图像 2.png 图像 3.png 图像 4.png 图像 5.png 图像 6.png 图像 7.png 图像 8.png 图像 9.png

    相关文章

      网友评论

          本文标题:五分钟学会Seajs

          本文链接:https://www.haomeiwen.com/subject/lzszvttx.html