Sto usando TypeScript 1.5 beta e sto tentando di esportare un'interfaccia come esportazione predefinita. Il seguente codice causa un errore sia in Visual Studio e WebStorm:Perché la limitazione all'esportazione di un'interfaccia per impostazione predefinita in TypeScript?
export default interface Foo {...}
Tuttavia, il seguente codice funziona bene:
interface Foo {...}
export default Foo;
È questo in base alla progettazione, si tratta di un bug, o sto facendo qualcosa sbagliato?
MODIFICA: Grazie per la risposta. Si pone la domanda, tuttavia, quindi qual è il modo accettato di importare un'interfaccia utilizzando la sintassi del modulo ES6?
Questo funziona:
// Foo.ts
export interface Foo {}
// Bar.ts
import {Foo} from 'Foo'; // Notice the curly braces
class Bar {
constructor(foo:Foo) {}
}
Ma, dal momento che funziona, perché non permettere l'esportazione di default e salvare le parentesi graffe?
// Foo.ts
export default interface Foo {}
// Bar.ts
import Foo from 'Foo'; // Notice, no curly braces!
class Bar {
constructor(foo:Foo) {}
}
Probabilmente si dovrebbe aumentare questo come un bug. –