Javascript 我使用的mootools的哪些模块更多?

Javascript 我使用的mootools的哪些模块更多?,javascript,mootools,mootools-more,Javascript,Mootools,Mootools More,我的应用程序中包含了所有或更多模块,但我想删除我不使用的模块。根据mootools的不同,是否有一种快速的方法可以从脚本开始了解我正在使用哪些模块?是否压缩了文件 如果尚未从构建中删除原始注释,则文件顶部应该有一个链接,其中包含一个包含包的列表和一个链接。e、 g // Load this file's selection again by visiting: http://mootools.net/more/065f2f092ece4e3b32bb5214464cf926 如果您没有链接,

我的应用程序中包含了所有或更多模块,但我想删除我不使用的模块。根据mootools的不同,是否有一种快速的方法可以从脚本开始了解我正在使用哪些模块?

是否压缩了文件

如果尚未从构建中删除原始注释,则文件顶部应该有一个链接,其中包含一个包含包的列表和一个链接。e、 g

// Load this file's selection again by visiting: http://mootools.net/more/065f2f092ece4e3b32bb5214464cf926 

如果您没有链接,但包含了其他注释,请在文件中搜索
脚本:
,您应该会得到所有包含的软件包的列表。

恐怕不容易。你可以在你的应用程序运行时监视东西,这样你就可以获得一些使用率/覆盖率统计数据,但是因为mootools是原型,所以对数组/字符串/函数/日期等的扩展可能更复杂

要捕获已实例化的类,请构建一个列表,并使用以下内容:

Object.monitor = function(obj, match){
    var keys = (function(obj){
            // include from prototype also, any function.
            var keys = [], key;
            for (key in obj) typeof obj[key] === 'function' && keys.push(key);
            return keys;
        }(obj)),
        log = function(what, method){
            // more use goes red in console.
            console.log(obj, method, what);
        },
        counters = {};

    keys.forEach(function(key){
        var orig = obj[key];
        Object.defineProperty(obj, key, {
            get: function(){
                key in counters || (counters[key] = 0);
                counters[key]++;
                key.test(match) && log(counters[key], key);
                return orig;
            }
        });
    });
};


var protos = [Fx.Reveal, Fx.Slide, Request.JSONP]; // etc etc - stuff you are unsure of.
protos.forEach(function(klass){
    Object.monitor(klass.prototype, /\$constructor/);
});

new Request.JSONP({});
一旦这些项中的任何一项被实例化或扩展,构造函数将被引用,您将获得日志来显示它。-这将实例化
Request.JSONP()

我编写了
Object.monitor
来监视在特定实例上调用的方法,但同样的原则也适用。控制台格式仅在FireBug和WebInspector中工作良好-本机FF控制台需要简化

你可以用它来监视,比如说,
Array.prototype
或者任何类似的东西——但困难在于更多的代码复杂度。很难确定:(


除了mootools之外,连接所有脚本可能比连接grep更容易,因为类型中有已知的类/方法。

如果你发布了JS,也许我们可以帮助你找出你正在使用的模块。我可以手动操作,我只是想知道是否有什么东西可以帮助自动化这个过程,比如在线工具或类似的工具。T汉克斯:)