【问题标题】:Is there a benefit in using Lodash in an AngularJS project? [closed]在 AngularJS 项目中使用 Lodash 有什么好处吗? [关闭]
【发布时间】:2016-08-08 20:56:48
【问题描述】:

是否有人在他们现有的 AngularJS 项目中实现了 Underscore 或 Lodash 以提高性能?如果是这样:

  • 这些变化是显而易见的还是您会推荐的?
  • 您认为 Lodash 的哪个功能最有优势?

我之前没有真正玩过 Lodash,并且正在研究学习它。但我通常喜欢学习一些东西,然后很快就实际使用它,这样概念就更好了。如果我能从实施 Lodash 中获得一些好处,那么我认为现在是学习它的好时机。

我通常需要执行过滤或在某种集合中查找对象等功能,所以我认为这是我最会使用它的地方。

【问题讨论】:

  • 真的只会出于方便和性能原因使用它。还取决于您需要进行多少数据操作。像这样的自以为是的问题在这里是题外话
  • 我放弃了它,因为 30-40 毫秒的额外加载时间。我使用了过滤、合并、克隆、每个、映射、选择,但我自己写了。

标签: javascript angularjs underscore.js lodash


【解决方案1】:

嗯,他们有不同的目的。

Angular 是为了构建一个应用程序。它可以帮助您构建代码并在组件(模块、控制器、服务、指令、路由器)之间分离职责。

Lodash 非常适合操作集合、数组、对象、字符串等。它可以帮助您的代码更短、更简洁并且可能更快。它经过了很好的测试和记录。在我看来,这会让你的工作变得更简单。

我使用 Lodash 已经 4 年了。我发现它在我的所有项目(Backbone、Angular、JavaScript、节点、单元测试、构建配置文件(Grunt、Gulp、Webpack)中)都很有用。

PS:Lodash 也是进入 JavaScript 函数式编程的必备工具。

编辑:Example of searching that you can't easily achieve without Lodash

【讨论】:

  • 感谢您的反馈。但这正是我要问的。我知道它们之间的区别,但很好奇使用它是否比内置的 Angular 功能(如过滤对象)更有性能优势。或者也许真的有任何好处,正如你提到的,你总是使用它。
  • 就我个人而言,我不会出于性能目的使用 Lodash,所以我不能说谁的过滤速度最快。但有时使用 Lodash 过滤比使用 Angular 更简单。你也可以有不同的想法,比如从另一个数组/集合中创建一个新的数组/集合,然后在 ng-repeat 中使用新的数组/集合。视情况而定,但使用 Lodash,您可以使用更多工具来构建您尝试构建的内容。
  • 明白了,这听起来很有趣。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-05
  • 2020-10-20
  • 1970-01-01
  • 2011-04-26
  • 1970-01-01
  • 2017-04-18
  • 2011-08-06
相关资源
最近更新 更多