requirejs

作者: Isaacyyy | 来源:发表于2018-02-05 21:45 被阅读0次

    requirejs作用

    当你运行多个js的时候页面会造成堵塞,如下。

    <script type="text/javascript" src="a.js"></script>
    <script type="text/javascript" src="b.js"></script>
    <script type="text/javascript" src="c.js"></script>
    <script type="text/javascript" src="d.js"></script>
    <script type="text/javascript" src="e.js"></script>
    <script type="text/javascript" src="f.js"></script>
    <script type="text/javascript" src="g.js"></script>
    <script type="text/javascript" src="h.js"></script>
    <script type="text/javascript" src="i.js"></script>
    <script type="text/javascript" src="j.js"></script>
    

    使用requirejs可以异步加载不同的js文件, 可以把每一个js文件当成一个模块,

    • requirejs写法

    当然首先要到requirejs的网站去下载js -> requirejs.org
    index.html:

      <!DOCTYPE html>
     <html>
     <head>
        <script type="text/javascript" src="require.js"></script>
        <script type="text/javascript">
            require(["a"]);
        </script>
     </head>
     <body>
      <span>body</span>
     </body>
     </html>
    
    • requirejs基本api

      • define 从名字就可以看出这个api是用来定义一个模块

      • require 加载依赖模块,并执行加载完后的回调函数.

     define(function(){
        function fun1(){
         alert("it works");
        }
    
         fun1();
       })
    

    通过define定义一个模块, 在通过require加载这个模块;

        require(["js/a"]);
    

    来加载该模块(注意require中的依赖是一个数组,即使只有一个依赖,你也必须使用数组来定义),require API的第二个参数是callback,一个function,是用来处理加载完毕后的逻辑,如:

     require(["js/a"],function(){
          alert("load finished");
       });
    
    • 加载文件

    大部分情况下网页需要加载的JS可能来自本地服务器、其他网站或CDN,这样就不能通过这种方式来加载了,我们以加载一个jquery库为例:

    require.config({
    paths : {
        "jquery" : ["http://libs.baidu.com/jquery/2.0.3/jquery"]   
          }
        })
    require(["jquery","js/a"],function($){
       $(function(){
         alert("load finished");  
       })
      })
    

    image.png

    相关文章

      网友评论

          本文标题:requirejs

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