javascript - 我更多地使用 mootools 的哪些模块?

标签 javascript mootools mootools-more

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

最佳答案

恐怕没有简单的方法。您可以在应用程序运行时监视某些内容,以便获得一些使用/覆盖率统计信息,但由于 mootools 是原型(prototype),因此对数组/字符串/函数/日期等的扩展可能更难以捕获。

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

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({});

一旦这些项目中的任何一个被实例化或扩展,构造函数就会被引用,并且您将获得日志来显示它。 http://jsfiddle.net/dimitar/8nCe6/ - 这将实例化 Request.JSONP()

我编写了Object.monitor来监视在特定实例上调用的方法,但同样的原则也适用。控制台格式仅适用于 FireBug 和 WebInspector - 原生 FF 控制台需要变得简单。

http://fragged.org/spy-on-any-method-on-an-object-and-profile-number-of-times-called_1661.html

您可以使用它来监视Array.prototype或任何类似的东西 - 但困难在于代码的复杂性更高。很难真正确定下来:(

连接所有脚本可能更容易,除了 mootools,对于类型中的已知类/方法,连接起来比 grep 更容易。

关于javascript - 我更多地使用 mootools 的哪些模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20285808/

相关文章:

javascript - Mootools:HtmlTable 真正多选

debugging - 添加 Accordion 时,Mootools 'Uncaught TypeError: Property ' 对象 #<Object> 的容器不是函数'错误

javascript - 阻止模态按钮提交它所在的表单

javascript - jQuery Gallery 将在 Firefox 和 Chrome 上本地显示,但无法在线工作

javascript - 尝试使用 div 的类获取其 id

javascript - NodeJs程序完成后不退出

javascript - Mootools 破坏了我的全局变量!!!谷歌地图 + Mootools

php - 使用 Jquery Ajax 后 mootools AJAX 出现问题

JavaScript按键事件获取textarea的结束值

javascript - Mootools:如何将项目添加到现有的 Fx.Sort 实例