¿Cómo puedo alias una importación predeterminada en Javascript?

384

Usando módulos ES6, sé que puedo alias una importación con nombre

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

Y sé que puedo importar una importación predeterminada

import defaultMember from 'my-module';

Me gustaría asignar un alias a una importación predeterminada y pensé que lo siguiente funcionaría

import defaultMember as alias from 'my-module';

pero eso produce un error de análisis (sintaxis).

¿Cómo puedo (o puedo) alias una importación predeterminada?

sfletche
fuente

Respuestas:

728

defaultMemberya es un alias, no necesita ser el nombre de la función / cosa exportada. Solo haz

import alias from 'my-module';

Alternativamente puedes hacer

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

Pero eso es bastante esotérico.

Bergi
fuente
12
¡El alias por sí solo es esotérico! Importar la exportación con nombre y el valor predeterminado es útil cuando se prueban componentes redux:import WrappedComponent, { Component } from 'my-module';
ptim
algunas reglas de tslinting muy estrictas no están de acuerdo y en realidad quieren que conserve el nombre de la entrada predeterminada como el nombre del archivo
phil294
1
@Blauhirn ¿Es eso para los IDE antiguos que no pueden seguir referencias y necesitan usar la búsqueda y reemplazo global para sus herramientas de refactorización? Ridículo.
Bergi
@ Bergi no, es la regla tslint "import-name", utilizada, por ejemplo, por el conjunto de reglas tsbnint de airbnb y, por lo tanto, bastante extendida. Estas reglas existen para fomentar un código coherente, libre de errores y legible
phil294
2
Los documentos de MDN deben reflejar estas actualizaciones de documentos: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
nardecky