【问题标题】:Loading entire modules at once using backbone.js (multiple views, models, collections)使用backbone.js一次加载整个模块(多个视图、模型、集合)
【发布时间】:2025-12-03 17:30:01
【问题描述】:

我一直在玩弄使用backbone.js 重建一个非常陈旧的内部CMS 的想法,以便我构建一个应用程序而不是一个网站。 到目前为止,我对骨干网感到满意,并且我在 require.js 中添加了将应用程序分解为模块的功能,但有一件小事让我很困扰。

我对骨干网的印象是,可以在单个初始负载中将应用程序交付给用户,但是由于添加了 require.js,所有模型、集合、视图和模板都是在临时的基础上单独获取的。

是否可以将我的应用程序分解为模块化有效负载?例如,如果用户进入 CMS 的新闻部分,他们会收到该模块所需的所有视图、模型等?我能想到的唯一解决方案是将模块的所有部分包装在一个定义函数调用中,但这似乎打破了将应用程序的各个部分作为一个整体解耦的范式。

有什么建议吗?

【问题讨论】:

    标签: backbone.js module requirejs


    【解决方案1】:

    我想我已经为自己解决了这个问题。看起来可以使用 r.js (http://requirejs.org/docs/download.html#rjs) 将模块编译成一个脚本,这正是我所需要的。

    【讨论】:

      【解决方案2】:

      简答:

      尝试使用 requirejs 模块

      长答案:

      看看这个

      https://github.com/ravihamsa/base-example/ 
      

      我用requirejs做了一个样板,我把每个模块都称为一个应用程序,你可以每个模块编译一个JS文件,并加上加上

      https://github.com/ravihamsa/baseapp/ 
      

      您可以按需加载每个模块。但是你必须遵循我遵循的 url 模式。喜欢

      http://yourapp.com/#appId/pageId/param1=value1;param2=value2
      

      整个应用架构正在进行中,但您获得了足够的洞察力

      【讨论】:

      • 您发布的链接似乎突出了我试图避免的内容。我的 CMS 中的一个模块最终可能会发送 5-10 个 HTTP 请求来要求它需要的所有 Require Modules。这似乎是通过网络提出的许多个人请求。将特定 CMS 区域的所有依赖项打包到一个超级模块中并将它们整体交付给客户端会很好。这可能吗?
      • @michael 你没看完整,当你构建的时候,看看 dist 文件夹,每个模块都编译了所有依赖项。