Skip to content
Navigation

useLodash

对 Lodash 进行了 ES 模块化和 Tree Shaking 支持。

为什么

虽然 2022 的今天, ES6+ 很多原生的实现已经非常简单,大部分情况下 不再需要使用 Lodash 了,但也并不反对继续使用它,因为它依然是一个非常优秀的工具库。

那为什么我还要集成进来呢?因为我发现,很多使用 Lodash 的同学都没有培养一个按需加载的优化习惯。

在我见过的项目里,几乎都是整包导入 Lodash ,而实际上可能只用到其中的一两个函数,例如 debouncethrottle 或者 cloneDeep

完整版的 Lodash 是非常大的,可能你压缩的十几张图片的大小,还没有一个 Lodash 包大(当前版本源包 1.41MB ,压缩后也有 500 多 KB ,而按需引入之后只有几 KB ,可点击 整包引入和按需加载的大小差距对比 查看测试报告)。

如何按需加载

本包已对 Lodash 做了 Tree Shaking 支持,无需再次安装 Lodash ,你只需要和其他 use 函数一样,遵循 Hooks 风格的导入和子方法使用。

  • Example:
vue
<template>
  <button @click="handleClick">
    <span>Hello World</span>
  </button>
</template>

<script setup lang="ts">
// 导入 Lodash
import { useLodash } from '@lunarxyz/core'

// 使用防抖函数
const { debounce } = useLodash()
const handleClick = debounce(() => {
  console.log('debounce')
}, 500)
</script>

API 文档

支持 Lodash 的所有 API ,可以直接查看官方文档的使用说明。

官方最新文档: https://lodash.com/docs/

国内翻译文档: https://www.lodashjs.com/

当前集成版本

目前集成的 Lodash 版本号为 ^4.17.21

一般情况下,常用的方法都能够覆盖到,并且 Lodash 本身的版本更新也不是很频繁,如果在使用的过程中需要升级 Lodash 的版本,请联系本包的维护者 @程沛权

Released under the MIT License.