繁体   English   中英

如何使用 ES6 模块语法(析构)导入属性?

[英]How to import into properties using ES6 module syntax (destructing)?

import utilityRemove from 'lodash/array/remove';
import utilityAssign from 'lodash/object/assign';
import utilityRandom from 'lodash/number/random';
import utilityFind from 'lodash/collection/find';
import utilityWhere from 'lodash/collection/where';

let util;

util = {};

util.remove = utilityRemove;
util.assign = utilityAssign;
util.random = utilityRandom;
util.find = utilityFind;
util.where = utilityWhere;

使用 ES6 模块系统有没有更好的方法来完成上述操作?

如果这些是您模块中唯一的符号,我会缩短名称并使用新的对象速记来执行以下操作:

import remove from 'lodash/array/remove';
import assign from 'lodash/object/assign';
import random from 'lodash/number/random';
import find from 'lodash/collection/find';
import where from 'lodash/collection/where';

let util = {
  remove,
  assign,
  random,
  find,
  where
};

如果这可能导致冲突,您可以考虑将此部分移至其自己的模块。 能够在测试时替换 lodash 方法可能很有用。

由于每个符号来自不同的模块,因此您不能组合导入,除非 lodash 为此提供组合导入模块。

如果您只是简单地导出符号而不使用它,您还可以考虑以下语法

export remove from 'lodash/array/remove';
export assign from 'lodash/object/assign';

对于任何导入和使用您的模块的人来说,它将显示为:

import {remove, assign} from 'your-module';

您可以在 utils 模块中执行此操作:

//utils.js

export remove from 'lodash/array/remove';
export assign from 'lodash/object/assign';
export random from 'lodash/number/random';
export find from 'lodash/collection/find';
export where from 'lodash/collection/where';

并像这样使用它:

import * as util from './utils';

...

util.random();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM