繁体   English   中英

确定组合的js文件中包含哪些脚本

[英]Determine what scripts are inside a combined js file

我正在尝试构建一个Ajax脚本加载器,但是遇到了一个问题,即我将合并文件的片段发送了两次(例如,jQuery,与其他脚本捆绑在一起,由于需要发送两次)由一些(ajax)请求的脚本通过网络发送。

我的第一个想法是,我只将md5块附加到文件名上,如果请求的脚本与该文件名匹配,则不发送-但这不能很好地扩展.. 100个捆绑脚本。

还有其他建议吗?

谢谢!

马特·穆勒(Matt Mueller)

我认为这取决于脚本类型。 我个人将定义可用的库,然后进行测试以查看是否已定义对象。

这里的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();});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM