【发布时间】:2011-04-07 10:00:11
【问题描述】:
我正在处理一个 Javascript 失控的项目,因此我已尽力将每个对象放入不同的文件中(当然是在合理范围内...我有时将相关对象分组并将它们放入如果文件很小,则一个文件)。
老实说,我遇到的一件事是管理这些对象的依赖关系。 Javascript 似乎没有办法包含/声明依赖项......老实说,我觉得这真的很烦人。
更糟糕的是,我必须将这些依赖项放入它们所使用的单独 html 文件中。在这么多页面的底部包含这么多脚本标签之后,这绝对是一个难以管理的问题。这是一个例子:
<script src="${base}/js/ui/autoCompleteWidget.js"></script>
<script src="${base}/js/pagelet/addStudentToStudyGroupForm.js"></script>
<script src="${base}/js/pagelet/studentListing.js"></script>
<script src="${base}/js/pages/studyGroups.js"></script>
这已经够糟糕的了,因为许多第一个依赖项被一遍又一遍地声明,因为它们需要在不同的页面上。更糟糕的是,必须在稍后的某个时间点在中间的某个地方再引入 1 个依赖项……然后必须遍历我的整个项目,并在每个需要它的页面上一遍又一遍地注入一个脚本标签。由于 HTML 标记上没有编译时警告...如果我忘记在一页上执行此操作...该页面根本无法工作。这样的事情很难自动测试,除非我检查每个使用 Javascript 的页面,否则我无法知道。
我想知道...加载这些脚本最简单/最轻松的方法是什么?比如,什么是标准的方法可以做到如此强大、容易做到等?
谢谢
【问题讨论】:
-
我们总共谈论了多少 JS?是不是太多了,即使将其最小化到一个文件中也太大了?
-
@DA:好吧,我可以这样做,但我正在对这些 javascript 文件进行单元测试,我认为测试与正在测试的对象之间的比例为 1:1 是合适的.我还想说,最终,最终会有 30-40 个大物体。我在法律上是盲人......所以将所有这些放在一个文件中实际上让我的情况变得更糟。我非常喜欢实际的文件结构,因为我可以使用我的 IDE 快速拉出正确的对象而无需滚动等。
-
我会在开发端将所有文件分开。链接到您的 HTML 中的一个 JS 文件并拥有该 JS 文件,然后加载所有其余文件。这样一来,您始终在每个页面上都有所需的脚本。然后作为部署过程的一部分,获取所有这些文件并通过最小化运行它们,以将它们全部组合并压缩到一个文件中以供在线实际使用。
-
但是对于一个 java 项目并且在运行想法时,我喜欢直接从我的源代码运行我的 tomcat 服务器......我不想一遍又一遍地经历一些部署过程。由于使用了应用程序服务器,我已经有了一个庞大的工作流程。这似乎更多的开销:(