我当前的插件变得非常大(现在刚刚超过 8000 行),我想知道是否有办法将它分类到不同的文件中。
就像 node.js 中的 require 函数一样,但是对于 jquery,它会被分类到更多的文件中,因此排列得更清楚。
我当前的插件变得非常大(现在刚刚超过 8000 行),我想知道是否有办法将它分类到不同的文件中。
就像 node.js 中的 require 函数一样,但是对于 jquery,它会被分类到更多的文件中,因此排列得更清楚。
正如@jcubic 提到的,您需要将代码分成单独的模块/功能目的。
将所有方法存储在某种方法对象中(当然也可以在插件命名空间中)。这也可以很容易地添加到不同的文件中,甚至可以从不同的文件中扩展。
var methods = (function ($) {
return {
init : function () { initMethod(); },
another : function () { anotherMethod(); },
thirdThing : function () { thirdThing(); },
etcEtc : function () { etcEtc(); }
};
}(jQuery));
我强烈推荐创建jQuery插件的方法调用方式,它会利用这个对象。
$.fn.pluginName = function (method) {
if (methods[method]) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || !method) {
return methods.init.apply(this, arguments);
} else {
$.error('Method ' + method + ' does not exist on jQuery.tooltip');
}
};
现在一切都分开了,你通过做$('whatever').pluginName('methodhere');
等来调用你的模块