如何将大型Backbone.js项目分解为几个部分?

| 我有1条具有数百条路线的控制器。是否有系统将应用划分为多个部分,并仅加载该部分所需的javascript文件? 否则,用户可能必须从首次加载时下载整个应用程序的所有javascript。 似乎在某些控制器命中时,它应该检测是否需要重新下载javascript。
已邀请:
我建议使用资产打包程序(例如Jammit),它将按需将多个脚本压缩为一个压缩的脚本。 通过这种方式,您可以构造脚本,但对您而言更有意义,可以将它们分成所需的多个文件,资产句柄将负责压缩和组合它们。 如果某些脚本太大而无法在任何地方加载,则可以始终使用content_for将较大的脚本加载到需要这些脚本的视图中 例如:
<% content_for :head do %>
  <%= include_javascripts :my_big_files %>   
<% end %>
您可以研究RequireJS。 请记住,动态加载模块也有其缺点: 每次加载新模块时,应用程序的响应速度都较慢,用户必须等待。 代码会变得更加复杂,因为只有在加载某些内容后才能执行某些部分。 以及特定应用中的一些更复杂的问题。 理想情况下,您希望保留模块/多个文件的方法,但要进行部署,请将所有内容合并到一个文件中。即使它是一个巨大的文件,它的加载速度仍然比说50个文件还要快,并且比每次浏览到应用程序的不同部分时都必须看到加载屏幕的用户感到更加愉悦。 我认为RequireJS提供了这两种功能,您可以在开发时随时随地加载它们,但是当您准备进行部署时,仍然可以将所有文件打包在一个文件中。
您可以选择的另一个选择是Stitch。它是节点生态系统的一部分,可以即时编译coffeescript。 https://github.com/sstephenson/stitch

要回复问题请先登录注册