Jak mogę uzyskać alias domyślnego importu w JavaScript?

381

Korzystając z modułów ES6, wiem, że mogę aliasować nazwany import

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

I wiem, że mogę zaimportować domyślny import

import defaultMember from 'my-module';

Chciałbym dokonać aliasu domyślnego importu i myślałem, że następujące będą działać

import defaultMember as alias from 'my-module';

ale powoduje to błąd analizowania (składni).

Jak mogę (lub czy mogę?) Dokonać aliasu domyślnego importu?

sfletche
źródło

Odpowiedzi:

724

defaultMemberjuż jest aliasem - nie musi to być nazwa eksportowanej funkcji / rzeczy. Po prostu zrób

import alias from 'my-module';

Alternatywnie możesz to zrobić

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

ale to raczej ezoteryczne.

Bergi
źródło
12
Sam alias jest ezoteryczny! Importowanie nazwanego eksportu i domyślnego jest przydatne podczas testowania komponentów redux:import WrappedComponent, { Component } from 'my-module';
ptim
niektóre bardzo surowe reguły tslintowania się nie zgadzają i naprawdę chcą, abyś zachował nazwę domyślnego wejścia jako nazwę pliku
phil294,
1
@Blauhirn Czy to dotyczy starych IDE, które nie mogą podążać za referencjami i muszą używać globalnego wyszukiwania i zamiany w swoich narzędziach refaktoryzacyjnych? Śmieszny.
Bergi,
@Bergi nie, jest to reguła tslint „nazwa-importu”, używana np. W zestawie reguł tslint airbnb, a zatem dość rozpowszechniona. Te zasady istnieją, aby zachęcić do spójnego, wolnego od błędów i czytelnego kodu
phil294,
2
Dokumenty MDN powinny odzwierciedlać te aktualizacje dokumentów: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
nardecky