首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >导入lodash的正确方法

导入lodash的正确方法
EN

Stack Overflow用户
提问于 2016-02-07 14:32:30
回答 10查看 220.9K关注 0票数 233

我在下面得到了一个拉取请求反馈,只是想知道哪种方式是正确的导入lodash的方式?

你最好从‘lodash/ has’中导入has..对于lodash的早期版本(v3),它本身就相当繁重,我们应该只导入一个特定的模块/函数,而不是导入整个lodash库。不确定较新的版本(v4)。

代码语言:javascript
复制
import has from 'lodash/has';

vs

代码语言:javascript
复制
import { has } from 'lodash';

谢谢

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2016-02-07 15:48:39

import has from 'lodash/has';更好,因为lodash将它的所有函数都保存在一个文件中,所以与其导入100k的整个“lodash”库,不如只导入lodash的has函数,可能是2k。

票数 289
EN

Stack Overflow用户

发布于 2018-06-02 19:59:39

如果你使用的是webpack 4,下面的代码是树形摇摆的。

代码语言:javascript
复制
import { has } from 'lodash-es';

要注意的几点;

  1. CommonJS模块是不可树摇动的,因此您绝对应该使用lodash-es,这是导出为ES模块的Lodash库,而不是lodash (CommonJS).
  2. lodash-es's package.json contains "sideEffects": false,它通知webpack 4软件包中的所有文件都是无副作用的(请参见https://webpack.js.org/guides/tree-shaking/#mark-the-file-as-side-effect-free).
  3. This信息对于树摇动至关重要,因为模块捆绑包不会树摇动文件,即使其导出的成员不在任何地方使用。

编辑

因此,import { has } from 'lodash-es';也可以与As of version 1.9.0, Parcel also supports "sideEffects": false一起摇动树木。它还支持树摇动CommonJS模块,尽管根据my experiment的说法,ES模块的树摇动可能比CommonJS更有效。

票数 131
EN

Stack Overflow用户

发布于 2019-02-13 15:12:46

导入花括号内的特定方法

从‘lodash’导入{ map,tail,times,uniq };

优点:

  • 只有一个导入行(对于相当多的functions)
  • More可读用法:()而不是后面的javascript代码中的_.map()。

缺点:

  • 每次我们想要使用一个新函数或停止使用另一个函数时,都需要对它进行维护和管理

抄袭自:亚历山大·切尔特科夫撰写的The Correct Way to Import Lodash Libraries - A Benchmark文章。

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35250500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档