es6 import: имя импортируемых переменных - PullRequest
0 голосов
/ 03 мая 2018

У меня огромный список разрешений, и я заинтересован только в импорте трех из них. Мне также интересно сгруппировать их в объекте и назначить переменную этому объекту.

Могу ли я сделать что-то лучше, чем следующее?

import {
  firstPermission,
  secondPermission,
  thirdPermission,
} from '@constants/permissions';

const relevantPermissions = { firstPermission, secondPermission, thirdPermission };

Я был склонен попытаться использовать ключевое слово as в шаге import, но я не мог заставить что-либо подобное работать.

(Это похоже на невежественный вопрос; пожалуйста, прости.)

1 Ответ

0 голосов
/ 03 мая 2018
Ключевое слово

as предназначено для импорта именованных экспортов под разными именами, а не для их группировки.

Код, указанный в вопросе, - это то, как это должно быть сделано. Если relevantPermissions предполагается использовать в нескольких местах, целесообразно реэкспортировать их:

export {
  firstPermission,
  secondPermission,
  thirdPermission,
} from '@constants/permissions';

...

import * as relevantPermissions from './relevant-permissions';

Этот способ именованного импорта может быть потрясен, если некоторые из них остаются неиспользованными, а также может получить другие преимущества модулей ES, такие как улучшенное завершение кода в IDE.

...