2016-06-10 11 views
1

Ich möchte sowohl eine Klasse und eine Schnittstelle in einer Datei definieren, aber ich möchte mit export = Foo exportieren, denn wenn ich export default Foo verwende, ist das exportierte Objekt { default: Foo } anstelle der tatsächlichen Klassenobjekt.Export = Klassenanweisung mit Klasse implementiert Schnittstelle

Deshalb möchte ich dies tun:

interface IFoo { bar():boolean; } 

class Foo implements IFoo { bar():boolean { return true } } 

export = Foo; 

Aber dann erhalten Sie den Fehler Extends clause of exported class 'Foo' has or is using private name 'IFoo'.

Wie kann ich die Klasse direkt exportieren und immer noch haben sie eine Schnittstelle in der gleichen Datei definiert verlängern?

+0

foo. ts: 'Export Standard Foo' other.ts: 'Import Foo von" ./foo.ts "' – 2426021684

Antwort

0
  1. In export = Foo; Stil: import { Foo } from "module"

  2. In export default Foo; Stil:

    Sie den Import schreiben sollte

    Sie sollten den Import schreiben: import Foo from "module"

Verwandte Themen