发布于 2026-01-06 0 阅读
0

如何在 Vue 中使用 Lodash

如何在 Vue 中使用 Lodash

替代文字

Lodash 是一个功能强大的 JavaScript 库,里面包含许多实用的小功能🍬。这些功能不像万圣节糖果那样需要你绕着街区跑圈消耗卡路里,而是常见的实用函数,让你避免重复造轮子👍。而且,像我这样在创业项目上工作的人,它能帮助我快速上手🦸‍♀️。

安装带有 Vue 的 Lodash

# Yarn
yarn add lodash

# NPM
npm i --save lodash
Enter fullscreen mode Exit fullscreen mode

在 Vue 中使用 Lodash

在 Vue 应用中使用 Lodash 的典型方法是,在每个 Vue 组件上导入所需的函数。接下来我将向你展示的就是这种方法。

但如果你想在所有 Vue 组件中使用 Lodash,我在Stack Overflow上找到了一些教程。这种方法也有一些缺点,所以务必仔细阅读相关讨论。我个人并不推荐这种方法,因为我认为最好是每个组件只导入你需要的函数,而不是导入整个库。不过,最终决定权在你 🙂

好的,接下来我们继续看看如何在 Vue 组件中使用 Lodash 🎢

A. 导入整个 Lodash 库

您可以通过以下方式导入 lodash 的所有组件:

<script>
import _ from 'lodash';

const range = _.range(1, 3); // [1, 2]
const random = _.random(0, 5); // an integer between 0 and 5
</script>
Enter fullscreen mode Exit fullscreen mode

B. 导入 Lodash 特定函数

我并不推荐导入整个 Lodash 库。如果你看看他们的文档,就会发现里面有很多函数🤯。全部导入会给系统增加很多不必要的负担。Lodash 压缩后大约只有 24kB(不算特别大)。但我喜欢把它想象成我旅行时的行李打包方式。如果你夏天去夏威夷🏝,为什么要把宝贵的行李箱空间浪费在冬天的衣服上呢?所以我们也应该用同样的方式对待应用程序的包大小。我们应该避免添加不必要的功能,以免应用程序体积过大。精简的包意味着更快的用户体验,太棒了👏

B-1. 默认导入

您可以直接从指定路径单独导入它们。

<script>
import _range from 'lodash/range';
import _random from 'lodash/random';

const range = _range(1, 3);
const random = _random(0, 5);
</script>
Enter fullscreen mode Exit fullscreen mode

B-2. 指定进口

您也可以直接单独导入lodash

<script>
import { range, random } from 'lodash';

const range = range(1, 3);
const random = random(0, 5);
</script>
Enter fullscreen mode Exit fullscreen mode

B-3. 命名导入 + 重命名

但我喜欢区分我的 Lodash 函数。所以你可以用 `@ asLodash_function` 来重命名它,改成你想要的任何名字。约定是 `@Lodash_function` _,所以我直接在我的函数名前面加上这个前缀。

<script>
import { range as _range, random as _random } from 'lodash';

const range = _range(1, 3);
const random = _random(0, 5);
</script>
Enter fullscreen mode Exit fullscreen mode

B-1 获胜!

我个人比较喜欢B-1,因为我总是喜欢清晰地标识 Lodash 函数。当然,我也可以选择B-3,虽然它把所有功能都放在一个导入语句里,但我仍然需要处理那些单独的重命名操作。所以我觉得B-1对我来说最简洁,也更易读。

改进讨论💛

正如你所见,许多编程决策都相当主观。我知道有些人会非常热衷于将自己的立场奉为圭臬。但大多数编程选择都是主观的,计算机其实并不在意。没错,有一些约定俗成的规则是大多数人都认可的。但如果你认为这些规则不适合你和你的团队,那么打破常规也无可厚非。我认为更重要的是保持一致性。如果你选择了一条规则,就坚持下去。这会让你的团队其他成员更容易快速理解你的代码。

我觉得大家能如此热情地讨论真是太棒了。我最喜欢的是永远没完没了的tabs“对”与“对”的争论space😂——看到双方都如此投入,真是太有趣了🔥。只要我们以尊重同理心来对待这些讨论,我认为这样的辩论就很好。然而,如果缺乏尊重和同理心,这些讨论就会变得有害。而当这种情况发生时,不仅不好玩,甚至会让人感到害怕。人们会选择置身事外,不再参与讨论。但我们其实希望大家都能参与进来,因为只有这样我们才能找到更好、更有创意的解决方案。

所以下次当你参与讨论时,让我们都假设对方的意图是好的,尊重不同的观点,并运用同理心。我认为这样会让讨论更有建设性,也更有趣💛

你真的需要 Lodash 吗?

如果是小型应用,我根本不会考虑 Lodash。我通常把它用在大型应用上。如果你只是和朋友吃个午饭,你会真的带上整个行李箱吗?我觉得一个钱包或小包就足够了。当然,凡事都有例外!而这些例外情况取决于你的具体情况,最了解你的人就是你自己!所以,选择适合你的方式。我的原则是先从少量开始,如果实际情况需要更多,再逐步增加。👍

你不需要 Lodash

既然你已经问了自己是否真的需要 Lodash,那么让我进一步阐述我的观点,并向你推荐这个很棒的代码库 👉你不需要 Lodash。有了现代 JavaScript,你可以用原生代码完成很多事情。而且,自然才是王道😆

以下是三个例子:

筛选

const array = [1, 2, 3, 4, 5];

// Lodash
_.filter(array, value => value > 3);

// ✅ Vanilla
array.filter(value => value > 3);
Enter fullscreen mode Exit fullscreen mode

压平

const array = [1, [2, [3, [4]], 5]];
// Lodash
_.flatten(array);

// ✅ Vanilla
array.flat();
Enter fullscreen mode Exit fullscreen mode

以……结束

// Lodash
_.endsWith('abc', 'c');

// ✅ Vanilla
'abc'.endsWith('c');
Enter fullscreen mode Exit fullscreen mode

结论

哈哈,这篇文章本来是讲如何使用 Lodash 的,结果后半部分我却一直在劝你别用它。人生就是如此,对吧😂 JavaScript 自诞生以来发展迅猛。现在有了更多原生函数,编程也方便多了。而且,掌握原生 JavaScript 对你的职业发展远比精通 Lodash 要好得多。不过,也别害怕使用 Lodash。它确实有一些非常实用的函数,可以避免你浪费时间重复造轮子。这意味着你可以把更多的时间花在开发应用上,而不是费心去开发工具。

我的经验法则是,先从纯 JavaScript 开始,等它功能穷尽之后再引入 Lodash。我最喜欢的一句话是—— “你怎么知道?现实会告诉你。” 😄

资源


感谢阅读❤
更多文章请访问samanthaming.com

🎨 Instagram 🌟推特 👩🏻‍💻 SamanthaMing.com
文章来源:https://dev.to/samanthaming/how-to-use-lodash-with-vue-gao