确定组合js文件中的脚本

时间:2010-11-02 21:19:18

标签: php javascript jquery ajax package-managers

我正在尝试构建一个ajax脚本加载器,但是我遇到的问题是我将我的组合文件的两部分发送了两次(即.jquery,与其他脚本一起发送,正在发送两次因为通过网络发送的某些(ajax)请求的脚本需要它。

我的第一个想法是,我只是将md5块附加到文件名上,如果请求的脚本与其中的一部分相匹配,请不要发送 - 但是这对于100个捆绑的脚本来说不能很好地扩展。 / p>

有人有任何其他建议吗?

谢谢!

Matt Mueller

1 个答案:

答案 0 :(得分:1)

我认为这取决于脚本类型。我个人定义了可用的库,然后测试一下是否已经定义了对象。

这里的WAG示例,就在我的脑海中(我认为这种方法可能会非常令人发指,但是比单独识别文本更快。)

//javascript loader shell
var loader = function(){

    var loadLibrary = function(libraryName, fn){
        //your code to verify and download library or collection here 

        //callback function
        return fn();
    }

    return {
        exec: function(libraryName, fn){
           if(typeof(eval('window.'+libraryName)) != 'undefined'){
               return fn();
           } else {
               return loadLibrary(libraryName, fn);
           }
        }
    }   
}();

//example usage
loader.exec('util', function(){util.test();});