在 TypeScript 中,模块是用来组织和管理代码的重要方式。模块可以使代码更加可重用、可维护,同时也可以提高代码的可读性和可靠性。
TypeScript 中的模块可以使用关键字 export
导出模块的内容,使用关键字 import
引入其他模块的内容。在模块中,可以定义类、函数、常量、类型别名等各种类型的变量。
TypeScript 支持两种模块系统:CommonJS 和 ES6。CommonJS 是 Node.js 的模块系统,而 ES6 是 ECMAScript 6 标准中定义的模块系统。它们有一些不同的语法和语义。
在 CommonJS 中,模块使用 module.exports
导出模块内容,使用 require()
引入其他模块的内容。例如:
// 定义一个模块
// math.js
function add(a, b) {
return a + b;
}
module.exports = {
add: add
};
// 引入模块
// main.js
const math = require('./math');
console.log(math.add(1, 2)); // 输出 3
在 ES6 中,模块使用 export
导出模块内容,使用 import
引入其他模块的内容。例如:
// 定义一个模块
// math.ts
export function add(a: number, b: number): number {
return a + b;
}
// 引入模块
// main.ts
import { add } from './math';
console.log(add(1, 2)); // 输出 3
需要注意的是,在使用 ES6 模块时,需要将文件的扩展名设置为 .mjs
或者在 tsconfig.json 中设置 "module": "esnext"
。