2010-02-05 95 views
1

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

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

我是一位C#开发人员,他使用过Visual Studio。我从来没有遇到过这个问题,因为我有不同的文件/类/窗体...

我想知道这里的开发人员是如何处理大型JavaScript文件的。你用什么工具/策略/技巧来解决这个问题。

感谢

回答

2

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

我建议你在一些JavaScript框架,如YUI3(http://developer.yahoo.com/yui/3/

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

查看原型继承,也许看YUI剧院的Douglas Crockford的一些视频(http://developer.yahoo.com/yui/theater/)。所有真正优秀的东西都会告诉你如何在JavaScript中完成这类事情,而不会让大型脚本头疼。

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

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

“我的模块”和“我的-其他模块”可以在完全不同的JS文件,然后我告诉YUI加载器在哪里可以找到定义,它会自动将它们包括到我的网页。

这非常强大,可以让您分解代码,以最大限度地重用和简化。许多其他开发人员也将他们的代码放在YUI画廊上,以便您可以将行为混合并匹配到您的项目中。

0

jQuery.这是一个伟大的工具来帮助您写更少的和更好的代码。这是一个简单的JS框架/库,你链接到每个HTML页面。学习应该很简单,并且有很多支持,手册和书籍。

+0

@Samuel Carrijo没关系,别担心。 有时候我会写一个答案,然后在阅读写作的解释之后再编辑它以理解他想要的内容。 – Gal 2010-02-05 23:32:02

0

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

相关问题