我的JavaScript文件现在超过1000行。我需要让它更易于管理。这是我的文件的基本结构:
// Some settings (easily put in a separate file)
// Some jQuery plugins (easily put in a separate file)
$(function () {
var gadget1 = (function() {
var private, public;
// stuff
return public;
}());
var gadget2 = (function() { // gadget2 uses gadget1
var private, public;
// stuff
return public;
}());
var gadget3 = (function() { // gadget3 uses gadget1 and gadget2
var private, public;
// stuff
return public;
}());
// Playing around with the gadgets.
});
我的大部分代码都包含在$(document).ready()
中,并且由“小工具”组成,这些小工具都是大块的。如何在单独的模块中分隔每个“小工具”?
答案 0 :(得分:7)
您可以使用命名空间模式
MyAPP = {}
MyAPP.Gadget1 = (function () {
//blah blah
})()
然后有一个帮手
MyAPP.helpers = (function () {
//here are my helper functions/properties etc.
})()
这些命名空间对象将位于不同的文件中。
答案 1 :(得分:0)
一个简单的解决方案是在单独的文件中处理每个小工具的创建,每个小工具一个文件。只需确保以正确的顺序包含文件,并使小工具全局化(通过在window
上定义它们)。
更好的解决方案是为每个小工具创建函数定义(为其定义'类')。小工具的构造函数将采用其依赖项。如果您在自己的文件中定义每个小工具类型,则可以在ready()
调用中创建它们。这种方法的优点是,您可以创建更多任何类型的小工具,您可以这样做,因为您将它们定义为自己的功能。
答案 2 :(得分:0)
另一个选择是熟悉make
将每个文件分开并制作一个将它们连接在一起的构建脚本。