Export-Anweisung in TypeScript

  1. Verwendung der export-Anweisung in TypeScript
  2. Arten des Exports in TypeScript
  3. Alles in TypeScript exportieren
Export-Anweisung in TypeScript

Das Schlüsselwort export in TypeScript wird zum Exportieren von Variablen, Konstanten, Klassen, Funktionen und Schnittstellen oder Typaliasen über verschiedene Dateien hinweg verwendet. Es ist sehr nützlich für die effiziente Dateiverwaltung in großen Projekten in TypeScript.

Dieser Artikel demonstriert die Verwendung der export-Anweisung in TypeScript.

Verwendung der export-Anweisung in TypeScript

Die Syntax für export-Anweisungen beginnt mit dem Schlüsselwort export, gefolgt vom zu exportierenden Element, das mit dem Schlüsselwort import in eine andere Datei importiert werden kann.

Datei1.ts:

export SomeFunction() {
    // body of the function
}

Datei2.ts:

import { SomeFunction } from "./File1";

SomeFunction();

Das Obige zeigt die Syntax und ein einfaches Beispiel dafür, wie das Schlüsselwort export in TypeScript zum Importieren und Exportieren eines Moduls verwendet werden kann.

Arten des Exports in TypeScript

TypeScript hat verschiedene export-Anweisungen, eine ist der benannte Export und die andere der Standardexport. Der default-Export ist auf einen Standardexport pro Datei beschränkt, während es mehrere benannte Exporte oder normale Exportanweisungen geben kann.

Datei1.ts:

const AddTwoNumbers = (a : number, b : number) : number  => {
    return a + b;
}

export default AddTwoNumbers;

Datei2.ts:

import AddTwoNumbers from "./File1"
const result = AddTwoNumbers(4,5);

Im obigen Beispiel werden also zwei Nummern hinzugefügt, nachdem die Funktion default export in Datei1.ts definiert wurde. Jetzt kann die Funktion auch mit einem anderen Namen verwendet werden.

Zum Beispiel:

File2.ts:

import AddNumbers from "./File1"
const result = AddNumbers(4,5);

Somit kann in der Bedingung default export ein beliebiger Name verwendet werden. Standardexporte sind jedoch auf nur einen pro Datei beschränkt.

Wir müssen den nicht standardmäßigen oder benannten Export verwenden, um weitere Elemente zu exportieren. Die exportierten Module werden unter demselben Namen importiert.

Datei1.ts:

const AddNumbers = (a : number, b : number) : number => {
    return a + b;
}

const SubtractTwoNumbers = (a : number, b : number) : number => {
    return a - b;
}

export { AddNumbers, SubtractTwoNumbers };

Datei2.ts:

import { AddNumbers, SubtractTwoNumbers } from "./File1"
const resultAdd = AddNumbers(4,5);
const resultSub = SubtractTwoNumbers(4,5);

Das Obige zeigt das Beispiel benannter Exporte und Importe in den jeweiligen Dateien. Sie müssen in geschweifte Klammern eingeschlossen werden, und im Gegensatz zum Standardexport kann es beliebig viele benannte Exporte geben.

Eine andere Möglichkeit, Standardexporte in TypeScript zu verwenden, ist die Verwendung der Syntax export =.

Datei1.ts:

class LengthValidator {
    check(s : string) {
        return s.length > 0;
    }
}

export = LengthValidator;

Datei2.ts:

import lengthChecker = require("./File1");
let validator = lengthChecker();
var testString : string = "test"
if ( validator.check(testString)) {
    console.log("Okay");
} else {
    console.log("Not working");
}

Alles in TypeScript exportieren

Manchmal ist es wichtig, alle in einer bestimmten Datei definierten Elemente zu exportieren. Dies kann über den export- und den *-Operator erfolgen.

Datei1.ts:

export const AddNumbers = (a : number, b : number) : number => {
    return a + b;
}

export const SubtractTwoNumbers = (a : number, b : number) : number => {
    return a - b;
}
export * as utils from "./File1"

Datei2.ts:

import {utils} from "./File1"
const resultAdd = utils.AddNumbers(4,5);
const resultSub = utils.SubtractTwoNumbers(4,5);

Somit wird alles in File1.ts als utils exportiert und kann in eine andere Datei importiert werden, und die Funktionen können wie im obigen Beispiel referenziert werden.

Shuvayan Ghosh Dastidar avatar Shuvayan Ghosh Dastidar avatar

Shuvayan is a professional software developer with an avid interest in all kinds of technology and programming languages. He loves all kinds of problem solving and writing about his experiences.

LinkedIn Website