【发布时间】:2019-06-22 09:09:11
【问题描述】:
我正在为自定义 JavaScript 环境处理 TypeScript 类型。它在全局范围内公开了一些函数。
const file = open('file.csv')
声明文件的标准模式似乎记录了导入的模块或加载了 HTML 标记的脚本。但这些功能在导入任何内容之前就可用。
有没有很好的方法来键入无需导入的可用功能?
【问题讨论】:
标签: typescript definitelytyped
我正在为自定义 JavaScript 环境处理 TypeScript 类型。它在全局范围内公开了一些函数。
const file = open('file.csv')
声明文件的标准模式似乎记录了导入的模块或加载了 HTML 标记的脚本。但这些功能在导入任何内容之前就可用。
有没有很好的方法来键入无需导入的可用功能?
【问题讨论】:
标签: typescript definitelytyped
就声明文件而言,通过 HTML 标记或 Javascript 环境本身提供的功能之间没有区别:在任何一种情况下,TypeScript 编译器都需要理解它不会自行生成的声明,这些声明可能是从外部来源。
考虑到这一点,您可以使用普通的declaration files 为您的环境定义类型。您可以使用 the declare keyword 和 ambient namespaces 声明可用于脚本的变量、方法和字典。
declare function open(filename: string): YourFile;
编译时,确保声明文件是tsc 的输入之一,方法是将其配置为tsconfig.json 或使用triple-slash directives 将其列为<reference>。
【讨论】: