【问题标题】:Avoid lodash to import entire library and avoid _ causing entire library to load避免 lodash 导入整个库并避免 _ 导致整个库加载
【发布时间】:2019-07-02 14:26:30
【问题描述】:

我需要从 lodash 库中导入 _,它将从 lodash 导入所有类。是否有任何解决方案可以通过仅导入所需的库来避免导入此“_”。

import _ from 'lodash';


import './style.css';
import _ from 'lodash';
import
{pick,head,uniqBy,map,partialRight as pr,omit} from 'lodash';

const baseProps = ['dc', 'effDate', 'expDate'];

const data = [{"dc":1,"effDate":"1/2/2019","expDate":"1/2/2019","rate":1,"minCharge":2},{"dc":1,"effDate":"1/2/2019","expDate":"1/2/2019","rate":2,"minCharge":6},{"dc":1,"effDate":"1/2/2019","expDate":"1/2/2019","rate":4,"minCharge":7}];

const result =_(data).groupBy('effDate')
  .map(g => ({
    ...pick(head(g), baseProps),
    rateCharge: uniqBy(map(g, pr(omit, baseProps)), 'rate')  
  })).value();

console.log(result)

Actual & Expected Output
[
  {
    "dc": 1,
    "effDate": "1/2/2019",
    "expDate": "1/2/2019",
    "rateCharge": [
      {
        "rate": 1,
        "minCharge": 2
      },
      {
        "rate": 2,
        "minCharge": 6
      },
      {
        "rate": 4,
        "minCharge": 7
      }
    ]
  }
];

我的组织编码标准不允许从“loadash”导入“_”,因为它会导入整个库。由于我在 Typescritp Angular 中工作,我无法找到替代解决方案。

【问题讨论】:

标签: javascript ecmascript-6 lodash


【解决方案1】:

只需删除

import _ from 'lodash';

并改变这一行:

import {pick,head,uniqBy,map,partialRight as pr,omit} from 'lodash';

对此:

import {pick,head,uniqBy,map,partialRight as pr,omit, groupBy} from 'lodash';

也改变这一行:

const result =_(data).groupBy('effDate’)

到这里:

const result =data.groupBy('effDate’)

它应该可以工作。

【讨论】:

    猜你喜欢
    • 2019-12-13
    • 1970-01-01
    • 2012-03-07
    • 2017-09-16
    • 2014-10-15
    • 2022-12-20
    • 2011-05-17
    • 2021-04-24
    • 1970-01-01
    相关资源
    最近更新 更多