javascript - 组织大型 JavaScript 应用程序的工具和最佳实践

标签 javascript jquery node.js twitter-bootstrap d3.js

我正在开发相当复杂的网络应用程序/仪表板,主要使用 Javascript。我喜欢在服务器上使用 mongo 和 node,但在客户端上通常会有特定于应用程序的库和脚本困惑。

我当前的项目包括 bootstrap 的组合, jquery , jquery-ui , D3 , leaflet , crossfilter和一些晦涩的东西,公平地说,尽管应用程序很棒,但代码已经变得一团糟。特别是 D3 和 crossfilter 的代码非常冗长,参见例如官方出处crossfilter demo举个典型的例子。

所以问题是:组织大型 javascript 应用程序的好工具和最佳实践是什么?

我已经避免使用全局变量并尝试使用闭包来组织 namespace ,但恐怕我需要比这更多的结构。在服务器上有 npm 这很好,但是在浏览器中有类似的东西吗?

我调查了require.js , backbone.jscoffeescript ,但我不太确定这些是否真的能解决问题或只会增加复杂性。

最佳答案

听起来您已经走在正确的道路上,但这里有一些提示:

  1. 使用框架。 Backbone现在很流行,但还有其他人。它将极大地帮助代码组织。事实上,如果您的应用程序有任何大小,框架绝对是避免意大利面条代码的必要条件。其他流行的框架包括 EmberKnockout .

  2. 如果您决定不使用这些框架之一,请至少使用模板。如Mustache或内置的下划线。

  3. 合并并缩小您的文件。主要是为了优化加载时间。理想情况下,您会发现一些东西可以添加到您的后端来为您完成这项工作。例如,Rails 的“ Assets 管道”使用了一种叫做 Sprockets 的东西。 .

  4. 我确实听到人们对 coffeescript 赞不绝口。 .它并没有真正增加功能,但喜欢它的人说它使他们的代码更清晰。

关于javascript - 组织大型 JavaScript 应用程序的工具和最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11812363/

相关文章:

javascript - 我的加载更多功能适用于单击按钮,但不适用于滚动

php - 如何使用 Jquery 包含 php 文件?

jQuery 简单工具提示效果

javascript - 水平居中显示 : table-row 的 div 内容

Node.js Telegram Bot 返回 ECONNREFUSED

javascript - 如何发送已更改的 Angular 形式数据?

javascript - 通过 Angular 中的一组复选框控制显示的项目

javascript - 无法向 Node 服务器发出发布请求

javascript - 我如何与匿名函数通信

javascript - 当所有字段都有效时jquery验证启用表单: do no show error for empty fileds