Avatar ·

如何在TypeScript中正确地将namespace与外部模块一起使用?

你好!我正在学习TypeScript,并尝试组织我的项目。以前我使用namespace(命名空间)来组织单个文件内的代码,但现在项目变大了,我想将代码拆分成单独的模块(文件)。 问题是,当我尝试导入包含namespace的模块时,会出现错误,或者namespace的行为不符合我的预期。 以下是我正在做的示例: 我有一个文件 `math.ts`: ```typescript namespace MathUtils { export function add(a: number, b: number): number { return a + b; } export function subtract(a: number, b: number): number { return a - b; } } ``` 以及文件 `app.ts`: ```typescript import { MathUtils } from './math'; console.log(MathUtils.add(5, 3)); // 错误:MathUtils 未从模块中导出 ``` 我收到错误,提示MathUtils未导出。如果我在 `namespace` 前添加 `export`,则会收到另一个错误:"Namespace 'MathUtils' cannot be used"