在 TypeScript 中,模块系统是一种组织和封装代码的方式,它允许你将代码分割成多个文件,并通过导入和导出机制来连接它们。这有助于提高代码的可维护性、可重用性和可扩展性。

以下是 TypeScript 模块的基本概念和使用方法:

导出(Export)和导入(Import)

导出
你可以使用 export 关键字将变量、函数、类等导出,使其在其他模块中可用。
// person.ts
export interface Person {
    name: string;
    age: number;
}

export function greet(person: Person): void {
    console.log(`Hello, ${person.name}! You are ${person.age} years old.`);
}

导入
你可以使用 import 关键字导入其他模块中导出的成员。
// main.ts
import { Person, greet } from "./person";

const person: Person = { name: "Alice", age: 30 };
greet(person);

默认导出

除了具名导出,你还可以使用默认导出。一个模块只能有一个默认导出。
// calculator.ts
const add = (a: number, b: number): number => a + b;

export default add;
// main.ts
import add from "./calculator";

const result = add(5, 3);
console.log(result); // 输出: 8

模块的综合示例
// utils.ts
export function square(x: number): number {
    return x * x;
}

export function capitalize(str: string): string {
    return str.charAt(0).toUpperCase() + str.slice(1);
}
// main.ts
import { square, capitalize } from "./utils";

const number = 5;
console.log(`Square of ${number}: ${square(number)}`);

const name = "john";
console.log(`Capitalized name: ${capitalize(name)}`);

模块的编译和执行

要在浏览器或 Node.js 等环境中运行 TypeScript 模块,你需要使用 TypeScript 编译器(tsc)将 TypeScript 代码编译为 JavaScript。可以使用以下命令进行编译:
tsc yourFileName.ts

这将生成相应的 JavaScript 文件,然后你可以在你的运行环境中执行它。

注意:在浏览器中使用模块时,可能需要使用模块加载器(如 RequireJS、SystemJS)来处理模块加载和依赖关系。在 Node.js 等环境中,可以直接使用 CommonJS 的 require 和 module.exports。

总体而言,使用 TypeScript 的模块系统有助于组织和管理代码,提高代码的可维护性和可读性。


转载请注明出处:http://www.zyzy.cn/article/detail/13026/TypeScript