Comment puis-je alias une importation par défaut dans Javascript?

386

En utilisant les modules ES6, je sais que je peux alias une importation nommée

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

Et je sais que je peux importer une importation par défaut

import defaultMember from 'my-module';

Je voudrais alias une importation par défaut et j'avais pensé que ce qui suit fonctionnerait

import defaultMember as alias from 'my-module';

mais cela se traduit par une erreur d'analyse syntaxique.

Comment puis-je (ou puis-je?) Alias ​​une importation par défaut?

sfletche
la source

Réponses:

730

defaultMemberest déjà un alias - il n'est pas nécessaire que ce soit le nom de la fonction / chose exportée. Fais juste

import alias from 'my-module';

Vous pouvez également faire

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

mais c'est plutôt ésotérique.

Bergi
la source
12
L'alias en soi est ésotérique! L'importation de l'exportation nommée et de la valeur par défaut est pratique lors du test de composants redux:import WrappedComponent, { Component } from 'my-module';
ptim
certaines règles tslinting très strictes ne sont pas d'accord et veulent en fait que vous conserviez le nom de l'entrée par défaut comme nom de fichier
phil294
1
@Blauhirn Est-ce pour les anciens IDE qui ne peuvent pas suivre les références et doivent utiliser la recherche et le remplacement globaux pour leurs outils de refactoring? Ridicule.
Bergi
@Bergi non, c'est la règle tslint "import-name", utilisée par exemple par le jeu de règles airbnb tslint et donc assez répandue. Ces règles existent pour encourager un code cohérent, sans bug et lisible
phil294
2
Les documents MDN doivent refléter ces mises à jour de documents: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
nardecky