Как импортировать в свойства, используя синтаксис модуля ES6 (разрушение)?
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
Вопросы из категории :
- javascript Как определить, какой из указанных шрифтов был использован на веб-странице?
- javascript Валидация клиентской стороны ASP.Net
- javascript Длина объекта JavaScript
- javascript Получение текста из выпадающего списка
- javascript Скрипт входа со скрытыми кнопками
- javascript Как автоматически изменить размер текстовой области с помощью Prototype?
- javascript Удаление элементов с помощью Array.map в JavaScript
- javascript Прокрутка переполненных DIV с помощью JavaScript
- javascript API Карт Google - проблемы с классом GLatLngBounds
- javascript Проверка десятичных чисел в JavaScript - IsNumeric ()
- ecmascript-6 What's the difference between using "let" and "var" to declare a variable in JavaScript?
- ecmascript-6 Конечно, у ES6 + должен быть способ объединить два объекта javascript вместе, что это?
- ecmascript-6 Расширяющий класс JavaScript
- ecmascript-6 Что делают фигурные скобки в выражениях `var {...} = ...`?
- ecmascript-6 let keyword in the for loop
- ecmascript-6 check if function is a generator
- ecmascript-6 Разрушение в Node.JS
- ecmascript-6 Тип символа JavaScript: (не строковые ключи объекта)
- ecmascript-6 CSP-безопасные литералы шаблона ES6
- ecmascript-6 Использование параметра отдыха и оператора распространения в JavaScript