导入lodash的正确方法

2020/10/19 23:41 · javascript ·  · 0评论

我在下面有一个请求请求反馈,只是想知道哪种方法是导入lodash的正确方法?

您最好从'lodash / has'中导入。.对于本身很重的lodash(v3)的早期版本,我们应该只导入特定的模块/函数,而不是导入整个lodash库。不确定较新的版本(v4)。

import has from 'lodash/has';

import { has } from 'lodash';

谢谢

import has from 'lodash/has';更好,因为lodash将所有功能都保存在一个文件中,因此与其以100k的价格导入整个“ lodash”库,不如仅以has2k的价格导入lodash的功能更好

如果使用webpack 4,则以下代码可摇树。

import { has } from 'lodash-es';

注意事项;

  1. CommonJS模块不可摇树,因此您绝对应该使用lodash-es,这是作为ES模块导出的Lodash库,而不是lodash(CommonJS)。

  2. lodash-es的package.json contains "sideEffects": false,它通知webpack 4软件包中的所有文件都是无副作用的(请参阅https://webpack.js.org/guides/tree-shaking/#mark-the-file-as-side -无效果)。

  3. 此信息对于摇晃树至关重要,因为模块捆绑程序不会对摇晃文件进行树状摇晃,即使它们的导出成员未在任何地方使用,这些文件也可能包含副作用。

编辑

从1.9.0版开始,Parcel还支持"sideEffects": false,因此import { has } from 'lodash-es';也可以与Parcel一起树。它也支持摇晃CommonJS模块,尽管根据我的实验,ES模块的摇晃可能比CommonJS更有效

在大括号内导入特定方法

import { map, tail, times, uniq } from 'lodash';

优点:

  • 仅一条进口线(用于相当数量的功能)
  • 更具可读性的用法:javascript代码后面的map()而不是_.map()。

缺点:

  • 每当我们想使用一个新功能或停止使用另一个功能时,都需要对其进行维护和管理

如果您使用的是babel,则应查看babel-plugin-lodash,它将为您挑选出正在使用的lodash部件,从而减少麻烦,并提供较小的包装。

它有一些限制

  • 您必须使用ES2015导入来加载Lodash
  • 不支持Babel <6和Node.js <4
  • 不支持链序列。有关替代方法,请参见此博客文章
  • 不支持模块化方法包

您可以将它们导入为

import {concat, filter, orderBy} from 'lodash';

或作为

import concat from 'lodash/concat';
import orderBy from 'lodash/orderBy';
import filter from 'lodash/filter';

第二个比第一个进行了优化,因为它仅加载所需的模块

然后像这样使用

pendingArray: concat(
                    orderBy(
                        filter(payload, obj => obj.flag),
                        ['flag'],
                        ['desc'],
                    ),
                    filter(payload, obj => !obj.flag),

导入Lodash版本 4.17.15

import * as _ from 'lodash';
本文地址:http://javascript.askforanswer.com/daorulodashdezhengquefangfa.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!