1. 介绍
在TypeScript中,模块用于组织和封装代码,以便于在不同文件之间进行代码的复用和组织。
模块可以包含变量、函数、类和其他可重用的代码片段,并可以被其他模块导入和使用。
2. TypeScript支持两种主要的模块系统
2.1 CommonJS模块系统
- CommonJS是一种用于服务器端JavaScript的模块系统,也被广泛应用于Node.js环境中。
- 在CommonJS模块中,每个文件都被视为一个独立的模块,文件内部的代码可以通过module.exports导出,其他模块可以通过require语句导入。
- 导出一个变量、函数或对象:使用module.exports关键字将要导出的内容赋值给它。
- 导入一个模块:使用require函数来导入其他模块,并将其赋值给一个变量。
// 导出模块
module.exports = {
variable: 123,
myFunction: function() {
// ...
}
};
// 导入模块
const myModule = require('./myModule');
console.log(myModule.variable);
myModule.myFunction();
2.2 ES模块系统
- ES模块是JavaScript的官方模块系统,是在浏览器环境和现代JavaScript开发中的标准模块系统。
- 在ES模块中,通过使用export关键字导出变量、函数、类等,并使用import语句来导入其他模块的内容。
- 导出一个变量、函数或对象:使用export关键字将要导出的内容标记为导出项。
- 导入一个模块:使用import语句来导入其他模块,并将其赋值给一个变量。
// 导出模块
export const variable = 123;
export function myFunction() {
// ...
}
// 导入模块
import { variable, myFunction } from './myModule';
console.log(variable);
myFunction();
2.3 运用
TypeScript默认采用ES模块系统,但也可以通过配置文件(例如tsconfig.json)来指定使用CommonJS模块系统。
需要注意的是,当使用模块时,可以使用import和export关键字进行模块的导入和导出。
此外,TypeScript还提供了其他模块相关的语法和特性,例如命名空间(Namespace)和模块的默认导出(Default Export),以满足不同的代码组织和模块化需求。