【问题标题】:Using Individual pieces of Backbone Marionette with RequireJS在 RequireJS 中使用各个 Backbone Marionette
【发布时间】:2013-08-02 16:07:40
【问题描述】:

我希望在我的 RequireJS 应用程序中使用 Backbone Marionette。它看起来很有前途,尤其是视图和区域。我想在我的应用程序中使用它们,但要使用我的应用程序中已经存在的一些现有功能。

例如,我想使用我现有的事件聚合器而不是 Backbone.Wreqr。我可以这样做吗? Backbone.Wreqr 是 Marionette 的硬依赖还是 Marionette 可以在没有它的情况下工作?

另外,我不想包含我不打算在我的应用程序中使用的 Marionette 片段,例如模块、templateCache 等。

是否有可能有一个修剪版的木偶?

谢谢 钦坦

【问题讨论】:

    标签: marionette


    【解决方案1】:

    目前,Marionette 对多个库有硬依赖。从它的文档:

    先决条件

    Marionette 依赖 Underscore、Backbone、jQuery 和其他各种库作为其基础。

    • JSON2.js
    • jQuery(v1.7、v1.8、v1.9)
    • Underscore.js (v1.4.4)
    • Backbone.js (v1.0.0)
    • backbone.wreqr.js
    • backbone.babysitter.js

    就挑选和选择功能而言,Marionette 的代码与它自己的文件中的每个主要功能都很好地分开。您也许可以复制 repo 并执行以下操作之一:

    1. AMDify 将每个功能与 requirejs 一起使用
    2. 将您想要的文件/功能拼凑在一起并修改生成的组合文件
    3. 从生成的经过修改的文件中剔除您不想要的功能。

    对于任何一个路由,一定要正确排列特性之间的依赖关系(即布局依赖于ItemView,它依赖于View,所以如果你打算使用Layout,你需要保留View和ItemView) .

    【讨论】:

    • 谢谢!这是很好的信息。然而,Backbone.wreqr 似乎与 Marionette 代码的集成非常深入。所以如果我使用 Marionette 的单个作品,我必须包括它。这是真的吗?
    • 您似乎可以单独使用各个 Marionette 片段,但不能摆脱诸如骨干.wreqr 之类的任何先决条件。
    • 你是对的。您可以尝试删除的唯一可选功能是实际的 Marionette 功能,而不是 Marionette 的依赖项。
    猜你喜欢
    • 1970-01-01
    • 2012-07-07
    • 2012-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多