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?

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.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.