我有一个拉请求反馈下面,只是想知道哪种方式是导入lodash的正确方式?
你最好从'lodash/has'导入has ..对于早期版本 lodash (v3)本身就很重,我们应该只导入 一个特殊的模块/函数,而不是导入整个lodash 图书馆。不确定更新的版本(v4)。
import has from 'lodash/has';
vs
import { has } from 'lodash';
谢谢
我有一个拉请求反馈下面,只是想知道哪种方式是导入lodash的正确方式?
你最好从'lodash/has'导入has ..对于早期版本 lodash (v3)本身就很重,我们应该只导入 一个特殊的模块/函数,而不是导入整个lodash 图书馆。不确定更新的版本(v4)。
import has from 'lodash/has';
vs
import { has } from 'lodash';
谢谢
当前回答
从 'lodash' 导入 { cloneDeep, groupBy };
我认为这是更简单的时候,你不需要转换数组到lodash对象使用_。
const groupData = groupBy(expandedData, (x) => x.room.name);
其他回答
对于那些想要继续使用_的人,那么就像这样导入它们:
import groupBy from 'lodash/groupBy';
import filter from 'lodash/filter';
import get from 'lodash/get';
window._ = {groupBy, filter, get};
我认为更干净的进口lodash的方式是这样的:-
import _ from 'lodash'
然后你可以使用任何你想要的,只要使用下划线,就像这样:-
_.has()
Import has from 'lodash/has';更好,因为lodash在一个文件中保存了它所有的函数,所以与其在100k导入整个'lodash'库,不如只导入lodash的has函数,它可能是2k。
导入花括号内的特定方法 从'lodash'导入{map, tail, times, uniq}; 优点: 只有一个导入行(用于相当数量的函数) 更可读的用法:map()而不是后面javascript代码中的_.map()。 缺点: 每当我们想要使用一个新功能或停止使用另一个功能时,它都需要维护和管理
摘自:导入Lodash库的正确方法——Alexander Chertkov写的一篇基准文章。
我只是把它们放在自己的文件中,然后导出给node和webpack:
// lodash-cherries.js
module.exports = {
defaults: require('lodash/defaults'),
isNil: require('lodash/isNil'),
isObject: require('lodash/isObject'),
isArray: require('lodash/isArray'),
isFunction: require('lodash/isFunction'),
isInteger: require('lodash/isInteger'),
isBoolean: require('lodash/isBoolean'),
keys: require('lodash/keys'),
set: require('lodash/set'),
get: require('lodash/get'),
}