Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 你如何管理一个大剧本?_Javascript - Fatal编程技术网

Javascript 你如何管理一个大剧本?

Javascript 你如何管理一个大剧本?,javascript,Javascript,我正在构建一个JavaScript引擎。我使用了一个简单的函数作为类,添加了子函数,字符串。。。并使用原型添加其他对象 一切都很好。现在的问题是,我使用的是一个类(或主函数),因为我需要这样。它变得越来越大,以至于我无法再控制它,调试代码变得非常困难 我是一名C#开发者,使用Visual Studio。我从来没有遇到过这个问题,因为我有不同的文件/类/表单 我想知道这里的开发人员如何处理大型JavaScript文件。您使用什么工具/策略/技术来解决此问题 谢谢这是一个帮助您编写更少更好代码的好工

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

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

我是一名C#开发者,使用Visual Studio。我从来没有遇到过这个问题,因为我有不同的文件/类/表单

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


谢谢

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

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

我建议你去看看一些JavaScript框架,比如YUI3()

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

去看看原型遗传,也许可以在YUI剧院观看道格拉斯·克罗克福德的一些视频()。所有非常优秀的东西都将向您展示如何在JavaScript中完成这类工作,而不必担心巨大的脚本

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

YUI().use('my-module', 'my-other-module', function(Y) {
    Y.MyModule.doSomething();
    Y.MyOtherModule.doSomethingElse();
});
“我的模块”和“我的其他模块”可以在完全不同的JS文件中定义,然后我会告诉YUI加载程序在哪里可以找到,它会自动将它们包含到我的页面中


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

谷歌创建GWT来解决这个问题。

@Samuel Carrijo没关系,不用担心。有时我写一个答案,然后在我读了更多的解释后编辑它,以了解他想要什么。