一、概述
TypeScript 从2012年开始出现,已近实现了许多对这些格式的支持,但随着时间推移社区和javascript的规范已近更倾向于一种名为ES的模块或者我们称之为ES6模块的格式
你可能指定import、export这样的语法,在ESmodules在2015年被加入到javascript规范中到了2020年大多数的浏览器和javascript运行时都有广泛的支持了,为了突出重点,这一章重点讲解ESmodules和流行的前驱CommonJs的语法
二、如何定义javascript模块
在TypeScript中,就像在ES 2015中一样,任何包含顶级的import或者export文件都被认为是一个模块,相反一个没有任何顶级导入或者导出声明的文件被视为为一个脚本,它的内容在全局范围内是可见的,模块在自己的范围内执行,而不是在全局范围执行,这意味着在模块中我们声明的变量、函数、类等在模块的外边是不可见的,除非他们被明确的以某种方式导出,相反,如果要使用从不同模块导出的变量、函数类和接口等等,必须使用导入的形式将其导入
三、TypeScript中的模块
在TypeScript中编写基于模块的代码时,有三个主要方面需要考虑:
语法: