如何编写模块化客户端Javascript?

时间:2012-07-12 14:56:25

标签: javascript module

我正在编写一个繁重的Javascript应用程序,最终将通过将一个脚本注入客户端网站来使用。

截至目前,我正在一个JS文件中编写所有模块,但是我很快发现它无效,因为它感觉非常混乱和混乱,我觉得模块应该都在单独的文件中。

我的问题是,管理这个问题的好方法是什么。我应该将所有应用程序模块编写在单独的文件中,还是将它们编译为服务器上的一个?

如果重要,我将Node.js用于我的服务器。

2 个答案:

答案 0 :(得分:2)

第一点:不要尝试在一个文件中编写所有代码。大多数大型JavaScript应用程序包含许多文件。

使用某种makefile来连接你的js(和css)文件。之后使用缩小器(我使用Google Closure Compiler)。为了帮助调试,我的部署脚本总是并行创建两个版本:一个是非连接/缩小版本,另一个是连接/缩小版本。未压缩的版本可以在现场进行开发/测试,无需任何部署操作。

这意味着,对于所有大型应用程序开发,您需要某种部署工具链来协调操作。这可能基于shell脚本,maven,ant等。

其次:使用类(没有滥用,javascript不是真正的OOP)和命名空间来清楚地隔离你的函数。

答案 1 :(得分:1)

是的,保持所有文件在逻辑上分开,然后缩小并将它们组合为发布步骤或在提供它们时动态。 Scott Hansleman写了一篇非常好的博客文章,说明为什么要这样做here