正在将提线木偶从v0.9.10更新到v1.0.0-beta6



我使用的是提线木偶v0.9.10。最近我遇到了一个问题。所以我看到在新的提线木偶中,某些功能被转移到了不同的插件中

  • 骨干。EventBinder
  • 骨干。Wrekr
  • 骨干。保姆
  • 我只是想知道使用它比以前版本的有什么优势

    从Marionette中提取其他存储库的目的有两个:

    1. 为更大的Backbone开发社区提供更多价值
    2. 允许Marionette的发布时间表,该时间表在所有情况下都不直接与这些组件绑定

    第一个原因是:有很多人对这些插件所涵盖的每个领域都表示了直接的兴趣。我已经回答了许多关于SO和社区其他部分的问题,这些问题涉及去耦架构、子视图管理、事件管理等。通过将这些代码块拆分到单独的存储库中,更大的骨干社区可以利用这一功能。

    第二个原因是:拥有独立的存储库和插件可以让我们对特定的功能子集进行更改,而不必对Marionette本身进行完整的发布/版本升级。例如,我可以将BabySitter从0.0.1版本移动到v1.0版本,而无需更改Marionette的任何代码。使发布周期解耦可以在提供更新和修复方面提供更大的灵活性。

    最后,这些库的分离在Marionette的各个部分之间提供了一个更好的抽象层。我们不再试图将此功能直接编码到想要使用它的对象中。相反,我们必须使用单独的库,并将其适当地合并到Marionette中。核心的Marionette。View是一个很好的例子,说明了事情出了问题,以及我们为什么要这样做。《木偶戏》中有太多不同的部分。视图-太多没有真正关联的东西,但我们希望在其他视图中使用它。将库拆分为多个库可以解决这个问题。

    就管理这些依赖关系而言,您至少有4个选项。

    1. 从http://marionettejs.com-它包含了开始的所有内容(主干、下划线、jquery、所有先决条件、提线木偶等)
    2. 在一个文件中获取一个"捆绑"构建,其中包含所有先决条件和提线木偶
    3. 抓住各个部分和"核心"构建——自己把这些部分放在一起,自己管理版本
    4. 使用像JamJS或Bower这样的包管理器

    关于使用Marionette的新版本的优势:错误修复、新功能、更稳定的代码、更一致的API、支持开发的更新更好的对象,以及对当前版本的支持。

    如果旧版本能满足你的所有需求,那么坚持使用它也没问题。目前,网络上几乎每一个小版本的提线木偶都在运行实时应用程序。这些应用程序可能不需要更新,所以它们会坚持使用现有的应用程序。但老实说,旧版本不会得到太多支持。

    在v1.0最终发布之前,向后兼容性和支持几乎不存在。一旦v1.0版本下降,我们将在短时间内提供错误修复,但会在新版本中推进新功能。

    HTH-

    最新更新