在BackboneJS中使用Lo-Dash的下划线兼容版本时,我应该使用它吗?

人气:804 发布:2022-10-16 标签: javascript backbone.js lodash underscore.js

问题描述

我注意到Lo-Dash有一个特殊的下划线兼容版本,表面上是为了解决函数参数/操作的差异(因为Lo-Dash是下划线的超集,所以我假设Lo-Dash中不缺少下划线函数)。

我还注意到BackboneJS可以与下划线或Lo-Dash一起使用。

我的问题是:使用带有BackboneJS的Lo-Dash的"普通"版本是不明智的吗?我找不到任何迹象表明人们是否在野外这样做,但这似乎是一个坏主意,特别是当BackboneJS依赖于这些版本中可能不同的功能时。同时,在Lo-Dash中使用一些较新的函数会很好,所以如果不需要的话,我不想错过这些函数。

推荐答案

[编辑]使用了一段时间后,我发现差别并不是太大。我建议您使用普通版本,但如果您不想冒任何风险,请使用Compat版本。

要了解答案,请参阅此Wiki页面,其中总结了下划线Lo-Dash构建和纯Lo-Dash之间的差异:

https://github.com/lodash/lodash/wiki/build-differences

下划线版本(包括主干版本,它是下划线版本的子集)

Lo-Dash的直观链接被替换为下划线的显式链接样式如果您要使用_.chain方法,它仍然存在。 如果回调返回FALSE,_.each方法不会提前退出 _.defaults_.extend方法迭代源对象的继承属性 从_.contains_.omit_.pick_.template等方法中删除额外功能

283