Indexdts 为什么要写 export
· 阅读需 2 分钟
在 TypeScript 中,当你在一个 .ts
或 .d.ts
文件中使用 export
关键字,该文件会被视为一个模块。相反地,如果文件中没有 export
或 import
语句,那么它会被视为一个全局脚本,其中的所有声明都会被加入到全局命名空间。
在 .d.ts
文件中,通常我们希望为模块或库定义类型,而不是为全局命名空间添加内容。
但是,有时候,我们可能只是想声明一些全局的接口或类型,而不实际导出任何内容。在这种情况下,只写类型声明可能会导致 TypeScript 将这个文件误认为是全局脚本。
为了避免这个问题,但又不实际导出任何东西,我们可以使用一个空的 export {}
语句。这会将文件标记为模块,从而确保文件内的所有声明都仅在该模块中可见,而不是被加入到全局命名空间。
所以,export {}
的主要目的是确保 .d.ts
文件被视为一个模块,而不是全局脚本,从而避免意外地将声明加入到全局命名空间。