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

你最好从'lodash/has'导入has ..对于早期版本 lodash (v3)本身就很重,我们应该只导入 一个特殊的模块/函数,而不是导入整个lodash 图书馆。不确定更新的版本(v4)。

import has from 'lodash/has';

vs

import { has } from 'lodash';

谢谢


当前回答

我认为更干净的进口lodash的方式是这样的:-

import _ from 'lodash'

然后你可以使用任何你想要的,只要使用下划线,就像这样:-

_.has()

其他回答

我认为更干净的进口lodash的方式是这样的:-

import _ from 'lodash'

然后你可以使用任何你想要的,只要使用下划线,就像这样:-

_.has()

我只是把它们放在自己的文件中,然后导出给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'),
}

您可以导入它们为

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),

对于那些想要继续使用_的人,那么就像这样导入它们:

import groupBy from 'lodash/groupBy';
import filter from 'lodash/filter';
import get from 'lodash/get';

window._ = {groupBy, filter, get};

从 'lodash' 导入 { cloneDeep, groupBy };

我认为这是更简单的时候,你不需要转换数组到lodash对象使用_。

const groupData = groupBy(expandedData, (x) => x.room.name);