¿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?

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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.