将我的JS分解成更小的位

时间:2011-10-13 18:24:23

标签: javascript jquery

我的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()中,并且由“小工具”组成,这些小工具都是大块的。如何在单独的模块中分隔每个“小工具”?

3 个答案:

答案 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

将每个文件分开并制作一个将它们连接在一起的构建脚本。