Backbone: 需要官方意见 [underscore vs. lodash]

创建于 2015-08-06  ·  7评论  ·  资料来源: jashkenas/backbone

有人可以通过 Backbone.JS 给我官方意见,Lodash 的迁移/使用有多稳定。

我知道这3个:

我已经阅读了Lodash 迁移笔记,但我仍然想要骨干社区选项。 我想确保以上所有 lodash 版本都可以与从 1.1.x 开始的任何版本的主干一起正常工作。

UPD-1:试图消化: https :

UPD-2:实际上我个人更接近于使用 Underscore - 作为第一个用于类似目的的原始库。 我认为 John-David 不应该分叉并创建新的轮子,而是他应该为 Underscore 做出贡献并帮助 Jeremy 改进 underscore。 这次合作有什么不好? 但是我对这两个库的历史都不太了解,所以我可能会弄错。 所以提前抱歉。

UPD-3:主干测试。 特别感谢@RusAlex以这种方式引发思考。 所以我使用了 2 个版本的主干并使用不同的 lodash 版本进行了测试。

_Backbone 1.1.2 和_

  • lodash 3.10.1 - 没有失败的测试
  • lodash.compat v3.10.0 - 没有失败的测试
  • 来自我的 prj 的 lodash。 冻结 v. 2.4.1 - 没有失败的睾丸
  • lodash.underscore v2.4.1 - 没有失败的测试:

_Backbone 1.2.1 和_

  • lodash 3.10.1 - 没有失败的测试
  • lodash.compat v3.10.0 - 没有失败的测试
  • 来自我的 prj 的 lodash。 v.2.4.1 - 4 次失败的测试(68、69、200、202)
  • lodash.underscore v2.4.1 - 20 次失败的测试(68、69、200、202、342-345、355-363、366、368、370)

所以我假设,使用它们的“发布时最新版本的库”是合适的,而且没有风险。 显然 - 使用不同的版本/版本是有风险的。

question

所有7条评论

我不是官员。 而是程序员。

尝试用 lodash 替换 undescrore 并查看主干测试。

Backbone 是经过充分测试的库,这就是存在测试的原因。

@RusAlex你的回答几乎和我在

_注意_:我已经迁移到 lodash/backbone 方法(并且我的项目工作正常),但是我的项目顶级架构社区还不确定它是正确的方法,所以我渴望得到正确的 - 官方答案在这里以正确的方式100%。

在阅读下划线问题 #2182 后,我意识到,迟早我们可能会有下划线,而且我更同意@jashkenas和 @jdalton 之间的这种合作。 我敢肯定,这些“神”现在很忙,所以他们在这里回答我的可能性很小。
无论如何,这对我来说等于官方!!!

所以我假设,使用它们的“发布时最新版本的库”是合适的,而且没有风险。 显然 - 使用不同的版本/版本是有风险的。

是的。 Lodash 包括 Backbone 和 Underscore 测试,并为每个提交运行它们,直到当前稳定版本。 在未来,Lodash 可能会失败一些,因为一些测试使用了与 Backbone 无关的 Underscore 方法,但我们会原谅他们,所以 Lodash 方面不会有任何意外。

许多项目首先使用 Backbone 使用 Lodash。
我认为 Backbone在这里有一个官方声明。

我们不测试 Zepto 和 Lo-Dash 的兼容性,但它们都应该可以正常工作。 如果您需要更强的保证,请坚持使用 jQuery 和 Underscore。

lodash 运行并通过其 CI 中的所有主干测试。 进一步Marionette使用多个版本的下划线 (1.4 - 1.8) 和 lodash (>= 2.4.0) 运行其单元测试。 外卖:主干应该与 lodash 2.4-3.10 一起正常工作(使用 lodash.backbone 用于 2.x 系列)

有一些浏览器方法可以在野外用 lodash 替换下划线以获取依赖项(https://github.com/thejameskyle/marionette-wires/blob/master/package.json#L96-L103),这些方法似乎有效,但有点粗略(因为库之间存在许多 API 差异)。

@jdalton感谢您的回复。
我已经阅读了主干文档的那部分,对我来说已经足够了。 但并非我的项目社区中的所有开发人员都对这句话充满信心:

倾向于工作,具有不同程度的兼容性......

这告诉我们某种程度的不确定性。 我同意这些开发商的 1%。 这就是我开始讨论的原因。

@megavac

  • 感谢您指出了这一点。 我真的为木偶团队感到高兴,在我的梦想中,他们应该与原始的 Backbone 团队和双开发力量合并。
  • 据我研究有:

    • lodash-for-backbone这实际上很奇怪,并不是我想要的。

    • 骨干-lodash这是贡献的@jashkenas和@brandonpapworth事实骨干1.1.2。 事实上,它是 Backbone 的十几个分支之一。 所以根本不感兴趣(除非杰里米告诉我们——那个版本将完全取代主干)。

  • “浏览方式”用于我的社区项目之一。 我认为通过以另一个库的名义进行简单的替换,对开发人员来说是“谎言”。 不适合我。

但再次感谢您的评论。

@akre54
是的,我需要更强的保证。 现在是 Backbone 测试结果(一个更证明需要 #TDD 并且有效的事实),它们向我展示的不仅仅是互联网上的圣战。 感谢关闭问题,暂时看起来已经解决,我有一些解决方案:

我肯定会迁移到 Lodash 并等待Underdash :) 我真的希望如此。

更改是允许使用document.createElement(someTagName)创建 View 元素而不是$('<' + someTagName + '>') ,但老实说,我已经很长时间没有使用 Backbone 了。 旁白:我已经意识到回顾我的旧的、未维护的代码会非常有趣/令人沮丧。

如果 Lodash 对人们有用并且不会导致测试创造一个将所有存在都吸进去的奇点,我的票肯定会投给它。

此页面是否有帮助?
0 / 5 - 0 等级