Se specifichiamo un export di default:Quando dovrei usare `export default`in JavaScript/TypeScript?
export class Foo {}
export default Foo;
allora possiamo omettere le parentesi graffe durante l'importazione (come indicato nella this answer):
import { Foo } from "foo"; // becomes:
import Foo from "foo";
va bene, ma non v'è alcun motivo per non-stilistica a preferire l'uno sull'altro in casi particolari? Per esempio, c'è qualche convenzione, o uno è incompatibile con certi strumenti, o uno ha un significato diverso?
(Basato su this discussion e altri, la mia comprensione è che export default
si sarebbe potuta verificare un modo di gestire l'esportazione di un singolo, oggetto primario (come $
), che ora è gestita da import * as foo from "foo"
. Inoltre, sembra che il valore predefinito la sintassi di importazione non applica la denominazione coerente (import fooAlias from "foo"
), mentre l'importazione standard import { fooAlias } from "foo"
potrebbe essere un errore di compilazione a meno che l'alias fosse esplicito (Foo as fooAlias
). Oltre a ciò, non sono stato in grado di trovare molte informazioni su quando dovrei usarne uno sull'altro.)
Sì, si suppone di utilizzare quando il modulo definisce un solo oggetto (o valore in generale). Si noti che 'import * as $ da" jquery ";' non funziona - si desidera che '$' non sia un oggetto namespace. – Bergi
@Bergi a destra, ma omettere l'esportazione e l'importazione di default tramite 'import {$} da" jquery "' può essere diverso? Quando dovrei usare uno sull'altro? "Default di esportazione" è mai richiesto? –
Un'esportazione predefinita è solitamente il valore più importante, ovvero quello utilizzato più frequentemente. L'esportazione predefinita è solo un'altra esportazione con il nome speciale 'default', quindi' import {default $} da 'jquery'' equivale a 'import $ da' jquery''. –