Lodash:摇树
Posted
技术标签:
【中文标题】Lodash:摇树【英文标题】:Lodash: tree shaking 【发布时间】:2021-11-26 04:09:55 【问题描述】:当我尝试使用 lodash 函数作为如下所示的特定导入时,它显示它仅加载 14.7KB
的大小。
但是当我尝试将导入用作解构对象时,它会显示 69.6KB
的大小
有些文章说它对上述两种导入都有效,而有些文章则说它不是。 只是想了解它是在最终构建中添加完整构建还是仅添加特定功能,尤其是第二种语法(解构)
【问题讨论】:
使用du
命令行或窗口资源管理器来比较您构建的大小?我个人会怀疑使用lodash/isEqual
这不是问题...
【参考方案1】:
$ npm i -D babel-plugin-lodash
.babelrc
...,
"plugins": [..., "lodash"]
这将允许任何导入样式(例如import _ from 'lodash'
、import isEqual from 'lodash'
,因为插件会将 lodash 函数的每次用法转换为:
import xyz from 'lodash/xyz';
【讨论】:
我仍然看到整个库都被捆绑了,即使我将此插件添加到 babel.config.js 文件为const plugins = ['istanbul','lodash'];
以上是关于Lodash:摇树的主要内容,如果未能解决你的问题,请参考以下文章
为啥 webpack 在使用“import * as _”时不会对 lodash 进行摇树?
Lodash - '_' 指的是 UMD 全局并且 lodash.js 不是模块错误