分离JavaScript代码的缺点是什么?

时间:2012-03-27 05:20:57

标签: javascript

我有一个包含许多事件处理程序的页面。代码现在达到了1000多行代码,我开始难以阅读代码。我现在打算将代码分成不同的文件。我的问题是,将JS代码分成不同的文件有什么缺点吗?

6 个答案:

答案 0 :(得分:4)

最佳做法是为开发目的创建相对较小的文件,其中每个文件都包含一系列相关的功能模块(无论对开发/调试/编辑/源代码控制最有效。您可以为每个文件指定一个有意义的名称它描述了它们中的内容。每个文件都可以单独管理(它们在源代码管理系统中的版本历史记录,签入/签出等等。)。通过单独的文件打开多个选项卡通常更容易你的编辑器,而不是试图使用书签在一个大文件中的不同位置之间跳转等等......

然后,当您开始部署应用时,您可以使用工具(如Google闭包或YUI Compressor)来最小化并将所有较小的文件合并到一个部署文件中。这保留了包含相关代码的较小文件的开发优势,同时保留了将大部分/全部代码放在一个较大的外部javascript文件中的部署优势,该文件可以在一个http请求中下载并且可以非常有效地缓存。

答案 1 :(得分:3)

缺点是增加了确保正确包含所有内容的复杂性。但是1000行变得笨拙。 Here's a related page about calling JavaScript objects in separate files

答案 2 :(得分:3)

disdvantages?

  • 另一个HTTP请求。开发人员建议压缩文件并尽可能少地使用文件进行优化。您请求的文件越少,越快(因为往返次数越少)

  • 如果您使用带有自动完成功能的文本编辑器,其中一些编辑器将不会从其他文件中获取自动完成的内容。如果你没有记住你的功能,这可能是一个问题。

  • 如果其中一个相互依赖的文件无法加载,您的应用就会中断。

答案 3 :(得分:2)

除了我的评论。

使用here中的t4模板,或者您可以使用C#按script#编写javascript

在现代平台中,开发人员不直接编写javascript,例如

  • 在Rails中,使用CoffeScript
  • 在python中,使用(py2js,睡衣,谷歌V8,skulpt)之一
  • 在C#中,使用脚本#

答案 4 :(得分:2)

以下是关于JSminify以及与VisualStudio和构建自动化一起使用的类似工具的博文: http://encosia.com/automatically-minify-and-combine-javascript-in-visual-studio/

答案 5 :(得分:1)

将代码分隔在不同的文件中有助于您进行维护。 我建议您将其拆分为与CommonJS兼容的模块,如果您在浏览器环境中工作,可以使用RequireJS加载它们。您还可以在部署网站/ webapp时使用提供的实用程序创建单个文件,以优化http请求。