1

好的,所以我有一个包含大约 10k 行代码的 .js 文件。此代码可以拆分为

  1. 子对象定义
  2. 容器对象定义
  3. 初始化代码(在对象被定义之后)
  4. 程序功能

我想将这个文件分成 4 个单独的文件,因为它提供了更好的监督。鉴于绝对必须按此顺序声明它们,我该怎么做?我应该在 a 中包含$(document).ready()什么,而不是什么?

如果我只是分离文件并以正确的顺序将它们链接到 html,我会得到未定义的对象错误。我也在想这样的事情;但不知道这样好不好...

第二个JS 文件

function initializeContainers() {
    var containerObj1 = {
      bla: 'bla',
      bla2: 'bla2'
    },
    var containerObj2 = {
      bla: 'bla',
      bla2: 'bla2'
    };
};

第一个JS 文件

$(document).ready(function() {
  function initializeSubObjects(callback) {
   var subObj1 = {
     somekey: 'somevalue',
     someke2: 'someothervalue'
   };
  callback();
  };
  initializeSubObjects(initializeContainers);
});

我不知道这是否是正确的方法? PS:我也知道你可以动态添加脚本标签;但这是好的做法吗?

4

1 回答 1

1

在您的示例中,您应该交换第一个和第二个文件的内容。只有在确定文件已加载时,才应调用 initializeContainers 方法。

考虑这一点的最简单方法是首先加载所有带有定义的文件(帮助程序、函数、类......)。加载完所有这些后,将其余部分放在最后一个文件中,然后仅开始执行最后一个文件中的代码

附带说明:如果将其部署到生产环境中,则应考虑捆绑这些文件。下载 4 个文件会影响您的加载时间,因此最好将它们捆绑在一起并作为单个文件发送。当您使用它时,您可能还想缩小它。

于 2013-08-20T14:59:56.553 回答