你如何管理一个大脚本?

时间:2010-02-05 23:16:30

标签: javascript

我正在构建一个JavaScript引擎。我使用了一个简单的函数作为类,添加了子函数,字符串......并使用原型来添加其他对象......

一切都很好。现在的问题是,我正在使用一个类(或主函数),因为我需要它。它变得越来越大,我无法再控制它了,调试代码变得越来越难。

我是一名使用Visual Studio的C#开发人员。我从未遇到过这个问题,因为我有不同的文件/类/表格......

我想知道开发人员如何处理大型JavaScript文件。您使用哪些工具/策略/技术来解决此问题。

谢谢

3 个答案:

答案 0 :(得分:2)

您仍然可以在C#中创建类似于类和对象的多个对象。

我建议你去看一些像YUI3(http://developer.yahoo.com/yui/3/

这样的JavaScript框架

这些为构建JavaScript代码和行为提供了很好的机制。例如,YUI3提供了Y.extend方法,允许您将一个对象从另一个对象扩展,就像在C#中一样。您可以在JavaScript中使用一整套其他机制,这些机制实际上比您在C#中学到的更强大。

查看原型继承,并观看YUI Theatre(http://developer.yahoo.com/yui/theater/)上Douglas Crockford的一些视频。所有非常出色的东西都会向您展示如何在没有巨大脚本的主要问题的情况下在JavaScript中执行此类操作。

为了更具体地回答你的问题,我在YUI3中使用模块模式,允许我将代码拆分为多个文件。它允许一种机制,您可以在其中定义模块,然后从其他文件中使用它们,同时自动解析所需的依赖项。因此,您定义了多个JavaScript文件,其中包含定义各种模块的行为和代码,然后可以在其他文件中“使用”。

YUI().use('my-module', 'my-other-module', function(Y) {
    Y.MyModule.doSomething();
    Y.MyOtherModule.doSomethingElse();
});

'my-module'和'my-other-module'可以在完全不同的JS文件中定义,然后我告诉YUI加载器在哪里找到它,它会自动将它们包含在我的页面中。

这非常强大,让您可以分解代码以实现最大程度的重用和简单性。许多其他开发人员也将他们的代码放在YUI Gallery上,这样你就可以将行为混合和匹配到你的项目中。

答案 1 :(得分:0)

jQuery.这是一个很好的工具,可以帮助您编写更少,更好的代码。这是一个简单的JS框架/库,您可以在每个html页面上链接到它。它应该很容易学习,并且有很多支持,手册,书籍。

答案 2 :(得分:0)

Google创建了GWT来解决这个问题。