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的读音,lodash为什么叫lodash

lodash简介

Lodash - '_' 指的是 UMD 全局并且 lodash.js 不是模块错误

Lodash:有没有办法用 lodash 将单词保持重音大写?

npm WARN 已弃用 lodash@2.4.2: lodash@<3.0.0 不再维护