TypeScript 中的匯出語句
TypeScript 中的 export
關鍵字用於跨不同檔案匯出變數、常量、類、函式和介面或型別別名。它對於在 TypeScript 中跨大型專案的高效檔案管理非常有用。
本文將演示在 TypeScript 中使用 export
語句。
在 TypeScript 中使用 export
語句
export
語句的語法以 export
關鍵字開頭,後跟要匯出的元素,可以使用 import
關鍵字將其匯入另一個檔案。
File1.ts
:
export SomeFunction() {
// body of the function
}
File2.ts
:
import { SomeFunction } from "./File1";
SomeFunction();
上面顯示瞭如何在 TypeScript 中使用 export
關鍵字來匯入和匯出模組的語法和基本示例。
TypeScript 中的匯出型別
TypeScript 有不同的 export
語句,一個是命名匯出,另一個是預設匯出。default
匯出僅限於每個檔案一個預設匯出,而可以有多個命名匯出或正常匯出語句。
File1.ts
:
const AddTwoNumbers = (a : number, b : number) : number => {
return a + b;
}
export default AddTwoNumbers;
File2.ts
:
import AddTwoNumbers from "./File1"
const result = AddTwoNumbers(4,5);
因此,在上面的示例中,在使用 File1.ts
中定義的 default export
函式後新增了兩個數字。現在,即使使用不同的名稱也可以使用該功能。
例如:
File2.ts
:
import AddNumbers from "./File1"
const result = AddNumbers(4,5);
因此,任何名稱都可以在預設匯出
條件中使用。但是,預設匯出僅限於每個檔案一個。
我們必須使用非預設或命名匯出來匯出更多元素。匯出的模組以相同的名稱匯入。
File1.ts
:
const AddNumbers = (a : number, b : number) : number => {
return a + b;
}
const SubtractTwoNumbers = (a : number, b : number) : number => {
return a - b;
}
export { AddNumbers, SubtractTwoNumbers };
File2.ts
:
import { AddNumbers, SubtractTwoNumbers } from "./File1"
const resultAdd = AddNumbers(4,5);
const resultSub = SubtractTwoNumbers(4,5);
上面顯示了各個檔案中命名匯出和匯入的示例。它們必須用大括號括起來,並且與預設匯出不同,可以有任意數量的命名匯出。
在 TypeScript 中使用預設匯出的另一種方法是使用 export =
語法。
File1.ts
:
class LengthValidator {
check(s : string) {
return s.length > 0;
}
}
export = LengthValidator;
File2.ts
:
import lengthChecker = require("./File1");
let validator = lengthChecker();
var testString : string = "test"
if ( validator.check(testString)) {
console.log("Okay");
} else {
console.log("Not working");
}
在 TypeScript 中匯出所有內容
有時,匯出某個檔案中定義的所有元素變得很重要。它可以通過 export
和 *
運算子來完成。
File1.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"
File2.ts
:
import {utils} from "./File1"
const resultAdd = utils.AddNumbers(4,5);
const resultSub = utils.SubtractTwoNumbers(4,5);
因此 File1.ts
中的所有內容都匯出為 utils
並可以匯入到不同的檔案中,並且可以引用函式,如上例所示。