码迷,mamicode.com
首页 > Web开发 > 详细

灵活实用require.js,让JS加载速度更流畅

时间:2017-06-19 22:00:00      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:html   click   解决   return   title   als   alert   module   define   

当一个网页引入很多js文件,网页加载会变得很慢,并且js文件存在依赖性,有时候颠倒顺序就不能运行了,这很影响用户体验。

require.js解决了异步加载,提高网页的加载,同时依赖顺序的js可以用数组排序。

 

第一部加载require.js放到目录的js子目录下:

<script src="js/require.js"></script>

需要加一个参数 defer async="true" 表示这个文件需要异步加载 defer兼容IE版本


需要加data-main="js/main" 表示js下的main.js是主要加载模块。工作时候一定要严谨。

 


require()函数接受两个参数。第一个参数是一个数组,表示所依赖的模块,第二个是回到函数,当前面模块都加载成功后,它将被调用。

//main.js:

define(function (require,exports,module){
    exports.add = function (x,y){
      return x+y;
    }; 
});

//math.html:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="require/require.js"></script>
        <script>
            require([main], function (math){
            alert(math.add(1,1));
              });
        </script>
    </head>
    <body>
    </body>
</html>

返回一个2,则成功弹出。

 

一起调用

//b.js:

define(function (require,exports,module){
    exports.add = function (obj,oEv,show){
      return obj[addEventListener(oEv,show,false)]
    }; 
});

//math.html:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="require/require.js"></script>
        <script>
            var btn=document.getElementById(btn);
            function show(){
                alert(弹出)
            }
            require([main,main], function (math){
               math.add(btn,click,show);
                alert(math.add(1,1));
              });
        </script>
    </head>
    <body>
    <button id="btn">提交</button>
    </body>
</html>

 

看玩此文,如果有什么不妥之处望请留言。

灵活实用require.js,让JS加载速度更流畅

标签:html   click   解决   return   title   als   alert   module   define   

原文地址:http://www.cnblogs.com/chw8/p/7050479.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!