如何键入自定义运行时功能?

How to type custom runtime features?

我正在为自定义 JavaScript 环境处理 TypeScript 类型。它在全局范围内公开了一些功能。

const file = open('file.csv')

声明文件的标准模式似乎记录了导入的模块或加载了 HTML 标记的脚本。但这些功能在导入任何内容之前就可用。

是否有一种无需导入即可输入可用功能的好方法?

就声明文件而言,通过 HTML 标记或 Javascript 环境本身提供的功能之间没有区别:在任何一种情况下,TypeScript 编译器都需要理解它所声明的声明不会自行生成,可以从外部源加载。

考虑到这一点,您可以使用普通 declaration files. You can use the declare keyword and ambient namespaces 定义您的环境的类型,以声明您的脚本可用的变量、方法和字典。

declare function open(filename: string): YourFile;

编译时,确保声明文件是 tsc 的输入之一,方法是将其配置为 tsconfig.json 或使用 [= 将其列为 <reference> 15=].