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?

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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.