在 TypeScript 中,模块解析是处理导入和导出语句以及确定模块位置的过程。TypeScript 遵循与 ECMAScript 模块(ESM)和 CommonJS 模块相似的解析策略,但也增加了一些自己的功能。下面我将简要介绍 TypeScript 模块解析的基本概念以及使用方法。
TypeScript 模块解析的基本概念
-
相对路径和根路径:
- 你可以使用相对路径(如
./moduleA
或../moduleB
)来导入模块。 - 你也可以配置 TypeScript 以使用根路径(如
/@root/moduleC
),这需要在tsconfig.json
中设置paths
和baseUrl
选项。
- 你可以使用相对路径(如
-
Node.js 风格的解析:
- TypeScript 默认使用 Node.js 风格的模块解析,这意味着它会查找
node_modules
目录中的模块。
- TypeScript 默认使用 Node.js 风格的模块解析,这意味着它会查找
-
类型定义文件:
- TypeScript 支持类型定义文件(
.d.ts
),这些文件通常包含类型声明,但不包含实现代码。 - 类型定义文件对于使用纯 JavaScript 库或没有提供 TypeScript 版本的库非常有用。
- TypeScript 支持类型定义文件(
-
默认导出和命名导出:
- TypeScript 支持 ES6 的默认导出和命名导出语法。
- 你可以使用
import
语句来导入这些导出。