模块与命名空间 #
模块和命名空间是 TypeScript 中组织代码的重要方式,帮助管理大型代码库。
基本概念 #
模块使用 import 和 export 关键字实现代码分割和复用。命名空间(namespace)用于分组相关代码,避免全局命名冲突。
使用场景 #
- 在大型项目中,将代码拆分为模块,提高可维护性。
- 使用命名空间封装内部工具函数。
- 与 ES 模块结合,实现树摇优化。
示例代码 #
模块示例:
// math.ts
export function add(a: number, b: number): number {
return a + b;
}
// main.ts
import { add } from "./math";
console.log(add(1, 2));
命名空间示例:
namespace Geometry {
export function area(radius: number): number {
return Math.PI * radius * radius;
}
}
console.log(Geometry.area(5));
最佳实践 #
- 优先使用 ES 模块而非命名空间。
- 配置 tsconfig.json 中的 module 选项。
- 避免全局命名空间污染。