requirejs通过配置shim来调用非AMD规范JS的方法及在线实例演示推荐 亲测 原创 收藏

文章标签: 帮助手册 使用实例
  • :
  • 03-26 13:29
  • :
  • 59次
  • :
  • 0条
  • 2赞

简介本文是通过一个具体的实例来讲解requirejs里,如何通过配置shim来加载非AMD规范的,普通的JS文件,并且还有完整的在线实例演示。l

关于requirejs插件,站长写过好几篇文章,本站的所有文章,站长都是自己测试过的,并且大多都附有在线实例演示,绝对不是其它网站上那样互相复制的,有需要的朋友可以关注本站的requirejs插件栏目。

本文通过一个具体的实例,来向大家分享requirejs插件里,通过配置shim参数选项来加载普通的,即非AMD规范的js文件的方法。

现假设我们有这样一个js文件:

Hello.js

function hello(){
    alert("hello~~爱jQuery www.aijquery.cn");
}

那么,在我们的网页里引入了requirejs后,如何通过require来调用上面这个js文件里的函数方法呢,这就需要用到require.config配置里的shim选项了,具体的配置如下:

require.config({  
    paths:{    
        "jquery":"//apps.bdimg.com/libs/jquery/1.9.1/jquery.min",    
        "hello":"/Html/aijquery/Hello"
    }, 
     shim:{ 
        "hello":{exports:'hello'}
    }
});

然后我们调用的时候,就可以这样来调用:

require(["jquery","hello"],function($,hello){	
    $("#aijquery").click(function(){hello();});
});

上面的代码,站长都是已经亲测过的,在本文的最后,站长也会给大家提供站长做好的在线实例演示的地址。(站长写文章不容易,转载请说明,本文首发地址 爱jQuery www.aijquery.cn

通过上面的实例,我们看出,最关键的就是shim里的exports了,它就是用来配置那些非规范js文件的核心,另外,shim里还有一个参数,init,这个是用来定义设置那些有多个方法的非规范js文件的,看下面的实例:

假设有下面这样一个js文件,里面定义了两个函数方法:

function hello1(){
    alert("This is hello1!!!");
}
function hello2(){
    alert("This is hello2!!!");
}

那么我们就要用shim里的init参数来对它进行配置和设置了:

require.config({
    paths:{
        "jquery":"//apps.bdimg.com/libs/jquery/1.9.1/jquery.min",
        "hello2":"/Html/aijquery/Hello2"
    },
    shim:{ 
        "hello2":{
            init:function(){
                return {
                    hello1:hello1,
                    hello2:hello2            
                  }        
            }    
        }  
    }
});

在我们需要调用的时候,可以这样来调用:

require(["jquery","hello2"],function($,hello2){
    $("#aijquery2").click(function(){hello2.hello1();});
    $("#aijquery3").click(function(){hello2.hello2();});
});

好了,关于requirejs里,shim的相关配置,站长就介绍到这里了,下面是具体的综合的在线实例演示

requirejs加载非AMD规范的JS文件实例演示

下面是上面实例的截图:



您正在找的文章可能是:
热点文章
热点图文
最近更新
  • Copyright © aijquery.cn 爱jQuery-完全免费的jquery交流学习网站
  • 豫ICP备17037455号-1
  • 2018-11-20 10:33:22