当前位置: 首页 > 后端技术 > Node.js

TypeScript中的模块概念

时间:2023-04-03 18:17:06 Node.js

ModulesJavaScript在处理模块化代码方面有着悠久的历史。自2012年成立以来,TypeScript已经实现了对其中许多格式的支持,但随着时间的推移,社区和JavaScript规范已经融合在一种称为ES模块(或ES6模块)的格式上。您可能知道它是导入/导出语法。ES模块于2015年被添加到JavaScript规范中,到2020年将得到大多数Web浏览器和JavaScript运行时的广泛支持。为了突出重点,该手册将涵盖ES模块及其流行的前身CommonJSmodule.exports=语法,您可以找到有关模块下参考部分中其他模块模式的信息。JavaScript模块是如何定义的在TypeScript中,就像在ECMAScript2015中一样,任何包含顶级导入或导出的文件都被视为一个模块。相反,没有任何顶级导入或导出声明的文件被视为脚本,其内容在全球范围内可用(因此也可用于模块)。模块在自己的范围内执行,而不是在全局范围内执行。这意味着在模块中声明的变量、函数、类等在模块外部不可见,除非使用其中一种导出形式显式导出它们。相反,要使用从不同模块导出的变量、函数、类、接口等,必须使用其中一种导入形式导入。非模块在我们开始之前,了解TypeScript认为什么是模块很重要。JavaScript规范指出,任何没有导出或顶级等待的JavaScript文件都应被视为脚本而不是模块。在脚本文件中,变量和类型在共享的全局范围内声明,假设您将使用--outFile编译器选项将多个输入文件连接成一个输出文件,或者使用多个\