Як я можу імпортувати псевдонім за умовчанням у Javascript?


381

Використовуючи модулі ES6, я знаю, що можу отримати псевдонім з імпортованим імпортом

import { foo as bar } from 'my-module';

І я знаю, що можу імпортувати за замовчуванням імпорт

import defaultMember from 'my-module';

Я хотів би імпортувати псевдонім за замовчуванням, і я думав, що наступне спрацює

import defaultMember as alias from 'my-module';

але це призводить до помилки розбору (синтаксису).

Як я можу (або можу?) Псевдонімом імпортувати за замовчуванням?

Відповіді:


724

defaultMemberвже є псевдонімом - це не потрібно, щоб було ім'я експортованої функції / речі. Просто роби

import alias from 'my-module';

Можна також зробити

import {default as alias} from 'my-module';

але це досить езотерично.


12
Псевдонім сам по собі є езотеричним! Імпорт названого експорту та за замовчуванням зручний при тестуванні компонентів redux:import WrappedComponent, { Component } from 'my-module';
ptim

деякі дуже строгі правила цлінінгу не згодні і насправді хочуть, щоб ви зберегли ім'я вводу за замовчуванням як ім'я файлу
phil294

1
@Blauhirn Це для старих IDE, які не можуть слідувати посиланнями та потребують глобального пошуку та заміни для своїх інструментів рефакторингу? Смішно.
Бергі

@Bergi ні, це правило tslint "імпорт-ім'я", яке використовується, наприклад, набором правил airbnb tslint і тому є досить поширеним. Ці правила існують для того, щоб заохочувати послідовний, без помилок і читабельний код
phil294

2
Документи MDN повинні відображати ці оновлення doc: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
nardecky
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.