> 技术文档 > lodash-es 详解

lodash-es 详解

import { cloneDeep } from \'lodash-es\' 是使用 ​​ES Modules​​ 语法从 lodash-es 包中按需导入 cloneDeep 函数。这是现代前端开发中推荐的使用 Lodash 的方式


1. lodash-es 是什么?

  • 它是 Lodash 的 ​​ES Modules 版本​​(普通 lodash 是 CommonJS 版本)
  • 完全兼容 ​​Tree Shaking​​(摇树优化),打包工具(如 Webpack/Vite)会自动移除未使用的代码
  • 每个函数都是独立的 ES 模块,可以单独导入

2. 为什么推荐这种写法?

对比项 import _ from \'lodash\' import { cloneDeep } from \'lodash-es\' 打包体积 引入整个库(约 70KB) 只包含 cloneDeep(约 1KB) Tree Shaking ❌ 不支持 ✅ 完全支持 适用场景 需要大量 Lodash 功能 只需要少量函数

3. 实际使用示例 

// 只导入需要的函数(推荐)import { cloneDeep, debounce } from \'lodash-es\'const original = { a: 1, b: { c: 2 } }const copied = cloneDeep(original) // 深拷贝

4. 与普通 lodash 的区别 

 

// ❌ 传统方式(不支持 Tree Shaking)import _ from \'lodash\'_.cloneDeep(...)// ✅ 现代方式(推荐)import { cloneDeep } from \'lodash-es\'cloneDeep(...)

5. 如何安装 

npm install lodash-es
# 或
yarn add lodash-es

6. 特别提示

  • 如果使用 Vite/Rollup/Webpack 等现代构建工具,优先选择 lodash-es
  • 如果是 Node.js 环境或不支持 ES Modules 的旧项目,才需要用普通 lodash

这种按需导入的方式能让你的项目更轻量化,是 Lodash 官方推荐的最佳实践。