Como posso alias uma importação padrão em Javascript?

383

Usando os módulos ES6, sei que posso alias uma importação nomeada

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

E eu sei que posso importar uma importação padrão

import defaultMember from 'my-module';

Gostaria de alias uma importação padrão e pensei que o seguinte funcionaria

import defaultMember as alias from 'my-module';

mas isso resulta em um erro de análise (sintaxe).

Como posso (ou posso?) Alias ​​uma importação padrão?

sfletche
fonte

Respostas:

727

defaultMemberé um alias - não precisa ser o nome da função / coisa exportada. Apenas faça

import alias from 'my-module';

Alternativamente, você pode fazer

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

mas isso é bastante esotérico.

Bergi
fonte
12
O apelido por si só é esotérico! Importar a exportação nomeada e o padrão é útil ao testar componentes redux:import WrappedComponent, { Component } from 'my-module';
ptim
algumas regras tslinting muito estritas discordar e realmente quero que você preservar o nome da entrada padrão como o nome do arquivo
phil294
11
@Blauhirn Isso é para IDEs antigos que não podem seguir referências e precisam usar a pesquisa e substituição global para suas ferramentas de refatoração? Ridículo.
Bergi
@ Bergi não, é a regra tslint "import-name", usada, por exemplo, pelo conjunto de regras tsbn do airbnb e, portanto, bastante difundida. Existem essas regras para incentivar consistente, livre de erros e código legível
phil294
2
Docs MDN deve refletir essas atualizações doc: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...
nardecky