我正在开发相当复杂的 webapps/dashboards,主要是在 Javascript 中。我喜欢在服务器上使用 mongo 和 node,但在客户端上通常会有特定于应用程序的库和脚本混乱。
我目前的项目包括bootstrap、jquery、jquery-ui、D3、leaflet、crossfilter和一些晦涩难懂的东西的组合,可以公平地说,虽然应用程序很棒,但代码已经变得一团糟。特别是 D3 和 crossfilter 的代码非常冗长,请参阅官方crossfilter 演示的源代码以获取典型示例。
那么问题来了:组织大型 javascript 应用程序的好工具和最佳实践是什么?
我已经避免使用全局变量并尝试使用闭包来组织命名空间,但恐怕我需要一些比这更多的结构。在服务器上有 npm 非常好,但是在浏览器中是否有类似的东西?
我已经研究过 require.js、backbone.js和coffeescript,但我不太确定这些是否真的能解决问题或只会增加复杂性。