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\'
cloneDeep
(约 1KB)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 官方推荐的最佳实践。