Вопрос:

Как импортировать в свойства, используя синтаксис модуля ES6 (разрушение)?

javascript ecmascript-6

2071 просмотра

2 ответа

33832 Репутация автора

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?

Автор: Gajus Источник Размещён: 20.08.2015 05:30

Ответы (2)


3 плюса

34188 Репутация автора

Если это единственные символы в вашем модуле, я бы сократил имена и использовал бы сокращение для нового объекта:

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';
Автор: ssube Размещён: 20.08.2015 05:36

1 плюс

45654 Репутация автора

Вы можете сделать это в модуле утилит:

//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();
Автор: Gabriel McAdams Размещён: 16.03.2017 04:18
Вопросы из категории :
32x32