2016-11-20 6 views
6

In Typoskript handbook wenig Techniken für den Import von Modulen beschrieben:Wie importiert man alle Module aus einem Verzeichnis in TypeScript?

  • Import ein einziger Export aus einem Modul: import { ZipCodeValidator } from "./ZipCodeValidator";
  • Import einen einziger Export aus einem Modul und benennen Sie es: import { ZipCodeValidator as ZCV } from "./ZipCodeValidator";
  • Import gesamter Modul: import * as validator from "./ZipCodeValidator";

ich erwarte, dass es eine weitere Option, aber nirgendwo kann ich es finden. Ist es möglich, alle Module aus einem bestimmten Verzeichnis zu importieren?

Ich denke, die Syntax sollte mehr oder weniger wie folgt sein: import * from "./Converters".

+0

Mögliche Duplikat [Typoskript 1.8 Module: Import alle Dateien aus dem Ordner] (http://stackoverflow.com/questions/38158429/typescript-1 -8-modules-import-all-files-from-folder) –

Antwort

11

Nein, das ist nicht möglich. Die meisten Leute erstellen eine index.js Datei, die alle Dateien im selben Verzeichnis re-exportiert.

Beispiel:

my-module/ 
    a.ts 
    b.ts 
    index.ts 

a.ts

export default function hello() { 
    console.log("hello"); 
} 

b.ts

export default function world() { 
    console.log("world"); 
} 

index.ts

export { default as A } from "./a"; 
export { default as B } from "./b"; 

Der Indexname kann fallen gelassen werden (das gleiche wie in Javascript):

import * as whatever from "./my-module"; 

console.log(whatever); 
// Logs: { A: [Function: hello], B: [Function: world] } 
+0

Wie schreibt man einen Testfall, wenn alle hinzugefügten Dateien auch in index.ts exportiert werden? wie, wenn ein d.ts und nicht zu index.ts hinzugefügt, wie diese Situation programmatisch zu vermeiden – Raghavendra

+0

@Raghavendra Da alles ein 'Objekt' ist, kann man einfach über die Schlüssel iterieren. Etwas wie: 'import * als foo von" ./bar "; console.log (Object.keys (foo) .length) // protokolliert import count' – marvinhagemeister

+0

dies ist nicht das, was ich gefragt habe über der antwort nehmen als beispiel ich will test schreiben, um zu überprüfen, ob sie alle a.ts, b .ts in der Datei index.ts? – Raghavendra

Verwandte Themen