在多个文件中包含多个类的 Javascript 快速方法

标签 javascript backbone.js

我正在考虑如何使用许多 Javascript 类使事情变得简单。我想使用单独的文件,否则我会得到超过 1000 行的文件。我现在正在拆分它。

在一个文件的前面,它是一个函数 jQuery 文档,里面是定义的类。因此全局空间没有受到污染。

当我拆分成文件时,我只想到使用某个包含这些类的对象,如下所示:

globalobject = {

};

globalobject.class1 = {
    // code
}

globalobject.class2 = {
    // code
}

但我讨厌必须编写 globalobject.classname。一个文件中的所有内容看起来都更好。

另一种选择是使用像 pre_class1、pre_class2 这样的前缀,但这也不理想。

也许有什么办法可以帮助requirejs,但是我快速看了一下,但没有找到如何快速使用它,我以前从未使用过它,而且以前没有使用过它看起来并不那么快。

有什么建议吗?顺便说一句,我也在使用木偶 Backbone ,但我对木偶很陌生。我已经看到它也有一些模块,但对我来说仍然不是一个快速的方法。

或者在我不了解 marionette 模块或 requirejs 库之前,我什至不应该尝试拆分长文件吗?

最佳答案

这个怎么样:

globalobject = (function(globalobject) {

  // common code only accessible from class1 and inside this closure

  var class1 = {
      //code
  };

  globalobject.class1 = class1;

  return globalobject;

}) ( globalobject || {} );

这种方式可以在每个文件中拥有一个“类”,并且在向全局对象添加多个“类”时无论导入顺序如何都可以工作。

关于在多个文件中包含多个类的 Javascript 快速方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18529757/

相关文章:

javascript - RequireJs 导出 Handlebars 模板

node.js - Handlebars 内的 Handlebars 模板

jquery-mobile - jQueryMobile : Uncaught TypeError: Cannot call method '_trigger' of undefined

javascript - 如何使用 Javascript 填充选择框

backbone.js - 钛合金中数据绑定(bind)到 Picker 时出现问题

javascript - 隐藏元素的部分内容

javascript - 动态渲染 mathjax

javascript - Spine.js 中的集合

javascript - 我如何在 Javascript 中创建 Google map 链接

javascript - 使用 Serverless v1.4.0 为 AWS Lambda 设置环境变量时遇到问题