我正在开发相当复杂的webapps /仪表板,主要是在Javascript中。我喜欢在服务器上使用mongo和node,但在客户端上通常存在特定于应用程序的库和脚本混乱。
我当前的项目包含bootstrap,jquery,jquery-ui,D3,leaflet,crossfilter以及一些模糊内容的组合,可以公平地说,尽管应用程序非常棒,但代码已经成为一种不圣洁的混乱。特别是D3和crossfilter的代码非常详细,例如,一个典型例子的官方来源crossfilter demo。
所以问题:组织大型JavaScript应用程序的好工具和最佳实践是什么?
我已经避免使用全局变量并尝试使用闭包来组织命名空间,但我担心我需要更多的结构。在服务器上有npm非常好,但在浏览器中有类似的东西吗?
我调查了require.js,backbone.js和coffeescript,但我不确定这些是否能真正解决问题或只是增加复杂性。
答案 0 :(得分:3)
听起来你已经走在了正确的道路上,但这里有一些提示:
答案 1 :(得分:2)
我认为“模块化”方法是您所需要的,模块的使用可以帮助您摆脱混乱。
您可以查看以下内容:
http://addyosmani.com/largescalejavascript/
http://www.yuiblog.com/blog/2007/06/12/module-pattern/
http://www.2ality.com/2011/04/modules-and-namespaces-in-javascript.html