2016-03-29 15 views
19

Wie kann ich alle Arten von bestimmten Dateien importieren?TypeScript/JavaScript - Import aller Typen

Nehmen wir an, ich habe myClass.ts und otherClass.ts. Ich möchte alle Klassen von otherClass.ts importieren.

Ich habe einige Syntax für Importe gesehen.

import ClassA, { ClassB, ClassC } from 'otherClass'; 

import * as foo from 'otherClass'; 

import foo = require('otherClass'); 

import 'rxjs/Rx'; 
  1. Die erste muss mir alles aufzuzählen. Ich möchte alle Arten importieren. Die zweite Syntax benötigt das Namespacepräfix: foo.ClassA.

  2. Ich verstehe, dass der letzte TypScript 1.4 ist, aber immer noch unterstützt.

Gibt es so etwas wie das Folgende?

import * from "otherClass"; 
... 
    var x = new ClassA() 

Auch, was ist der Sinn der { ... } und einige der Arten außerhalb und etwas nach innen zu sein?

Die documentation deutet nichts dergleichen an.

Antwort

20

Mit ES6 Module, die nächste Sache, die Sie haben, was Sie wollen, ist ein Namespace-Import:

import * as foo from './otherClass'; 

Sie können die verfügbaren Arten von Einfuhren in der import documentation sehen.

Auch, was ist die Bedeutung der {...} und einige der Typen sind draußen und einige innen?

Sie können darüber in der Dokumentation, auf die ich verwiesen oder in my answer here lesen.

+0

Aber das funktioniert nicht für Typen oder Schnittstellen, oder? Ich wäre sehr an einer gleichwertigen Art interessiert, diese zu handhaben. – DanielM

+0

@DanielM Ja, tut es. Sie müssen nur sicherstellen, dass die Typen und Schnittstellen aus der importierten Datei exportiert werden. –

+0

In den Tests, die ich getan habe, hat das nicht funktioniert - der Compiler beklagt sich, wenn ich 'foo.SomeExportedType' mache. – DanielM

Verwandte Themen