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
并可以导入到不同的文件中,并且可以引用函数,如上例所示。