Mat*_*ond 21 javascript backbone.js underscore.js lodash
我注意到Lo-Dash有一个特殊的Underscore兼容构建,表面上是为了解决函数参数/操作的差异(因为Lo-Dash是Underscore的超集,我假设Lo-Dash没有缺少Underscore函数).
我还注意到BackboneJS可以与Underscore或Lo-Dash一起使用.
我的问题:使用BackboneJS的"普通"Lo-Dash构建是不明智的吗?我无法找到人们是否在野外这样做的任何迹象,但这似乎是一个坏主意,特别是如果BackboneJS依赖于这些构建中可能不同的功能.同时,在Lo-Dash中使用一些较新的函数会很好,所以如果没有必要,我不想错过这些函数.
kum*_*rsh 10
[编辑]从使用lodash一段时间后的个人经验,我发现差异不是太大的交易.我建议你使用正常构建,但如果你不想冒任何风险,请使用compat构建.
要了解答案,请参阅此Wiki页面,该页面总结了下划线Lo-Dash构建和普通Lo-Dash之间的差异:
https://github.com/lodash/lodash/wiki/build-differences
_.chain如果你想使用它,该方法仍然存在._.each如果回调返回false,则该方法不会提前退出_.defaults和_.extend在源对象的继承属性方法迭代_.contains,_.omit,_.pick,和_.template我通常建议首先尝试Lo-Dash.如果您遇到问题,可以退回到Underscore compat构建版.这适用于新项目或已经使用Underscore并希望更改的项目.
您还可以利用构建实用程序,并创建一个使用Underscore链接样式的Lo-Dash版本lodash -d plus=chain.
我个人使用 require.js 来加载 underscore/lodash。因此,在我的应用程序主干中,只要我使用 AMD 传递“_”,就不知道它是下划线还是 lodash。
我开始使用 lodash 只是因为我读到 lodash 具有更好的性能。我相信,如果你用 google 搜索 underscore 与 lodash 的性能,你会发现这一点。到目前为止,我还没有看到 lodash 中缺少任何功能。
无论如何,我有幸将其改回使用下划线,并在“Require”配置文件中更改一行代码......
| 归档时间: |
|
| 查看次数: |
7018 次 |
| 最近记录: |