Come posso alias un'importazione predefinita in Javascript?


384

Utilizzando i moduli ES6, so che posso alias un'importazione denominata

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

E so di poter importare un'importazione predefinita

import defaultMember from 'my-module';

Vorrei alias un'importazione predefinita e ho pensato che avrebbe funzionato quanto segue

import defaultMember as alias from 'my-module';

ma ciò provoca un errore di analisi (sintassi).

Come posso (o posso?) Alias ​​un'importazione predefinita?

Risposte:


728

defaultMemberè già un alias - non deve essere il nome della funzione / cosa esportata. Basta fare

import alias from 'my-module';

In alternativa puoi farlo

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

ma è piuttosto esoterico.


12
L'alias da solo è esoterico! L'importazione dell'esportazione denominata e di quella predefinita è utile durante il test dei componenti redux:import WrappedComponent, { Component } from 'my-module';
ptim

alcune regole di tslinting molto rigide non sono d'accordo e in realtà vogliono che tu conservi il nome dell'input predefinito come nome file
phil294

1
@Blauhirn È per i vecchi IDE che non sono in grado di seguire i riferimenti e devono usare la ricerca e sostituzione globali per i loro strumenti di refactoring? Ridicolo.
Bergi,

@Bergi no, è la regola tslint "nome-importazione", usata ad esempio dal set di regole tslint di airbnb e quindi piuttosto diffusa. Queste regole esistono per incoraggiare un codice coerente, privo di errori e leggibile
phil294

2
I documenti MDN dovrebbero riflettere questi aggiornamenti dei documenti: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
nardecky,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.