HTML移动开发(一) -- RequireJS使用简略说明

1、在web开发中,我们引入js文件最常见的写法是:

      <script type="text/javascript" src="js/file1.js"></script>

      <script type="text/javascript" src="js/file2.js"></script>

      <script type="text/javascript" src="js/file3.js"></script>

      <script type="text/javascript" src="js/file4.js"></script>

      <script type="text/javascript" src="js/file5.js"></script>

   首先,这样的写法会增加http的请求数,影响其网页加载的速度。其次,如果这个这个js文件是相互依赖的话,那么加载的顺序是不能颠倒的,因为浏览器解析html是自上而下的解析。require.js的出现可以使得js文件异步加载,大大提升了网页渲染的速度,更便于管理模块之间的依赖和管理,便于代码的编写与维护。

2、如何通过require.js去加载文件?

      a、首先我们先创建一个主文件index.js,通过require.js去加载这个文件。在这个index.js文件中,我们可以去加载其他的js文件。

      在html页面中的引入index.js文件:写法如下

      <script type="text/javascript" data-main="index.js" src="js/require.js">

      b、在主模块中,我们可以添加其他的模块:

      index.js的代码如下:

  require.config({
baseUrl: './',     //这里的路径是基于index.js文件路径
paths: {        //定义加载模块的路径
text: 'js/text',     //我这里引入的是requireJS的中的文本插件
zepto: 'js/zepto',   //轻量级仿JQ类库,适合在移动web中使用
underscore: 'js/underscore',   //Backbone强烈依赖的类库
backbone: 'js/backbone',     //BackBone
},

       //config对象除了path属性之外还有一个shim属性,专门用来引入非规范的模块
shim: {         //以下是引入非规范化JS文件(模块)的写法
backbone: {      
deps: ['underscore'],  //这里是数组的形式,说明backbone依赖的是哪些模块   
exports: 'Backbone'   //一个变量名,说明在被别的模块调用是缩被使用的变量名称。
},
zepto: {
exports: '$'
},
underscore: {
exports: '_'
},
    }
      });

   //通过上面配置的路径配置和非规范化的配置之后,下面我们可以通过require的方法引入这些模块。
     require(['zepto', 'underscore', 'backbone','text'],
   function($, _, Backbone,Text) {
console.info("==============");
var el = $(".content");
console.info(el);
});

 说明:require(arr,fn,[fnFail])方法接收两个或三个参数,第一个参数是一个数组,表明这个index.js文件(主模块)依赖哪些模块,这里的是数组可以是上面配置中path对象中的key值,也可以是一个包含有路径的文件,如:"other/js/i18n" 。第二个参数是一个回调函数,这个回调函数会在所有的模块都被加载完之后调用,这个回调函数的参数对应你引用模块的变量,供模块被调用的时候引用。第三个参数也是一个回调函数,当加载模块失败的时候调用的函数。

      如上例:我在页面中定义了一个<div class="content"></div> ,在上面的回调函数里可以通过已经引入的zepto模块去获取该div。

     综合所述,我们可以在回调函数里面做一些相应的操作了。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值