FunScript:如何访问 TypeScript.Api<...>

FunScript: How to access TypeScript.Api<...>

我正在通过一个工作示例开始使用 FunScript。使用Nuget添加需要的库,效果不错

在 channel9 上观看 2013 年的视频时,他们正在使用 TypeScript.Api<...> 从 typescript 定义文件加载类型。

但是我无法在任何地方找到这种类型的提供程序。 它位于哪里? 我意识到很多类型定义已被编译到库中并在 nuget 上可用,但我不能真正使用它,因为一些代码将是本地打字稿定义文件。

因此问题是

  1. TypeScript.Api<...> 类型提供程序在哪里?
  2. 如果它不可用或使用 typescript 定义的最佳方式,还有哪些其他选项存在。

FunScript 中有大量更改,因此 TypeScript.Api<...> 类型提供程序不再是从 FunScript 调用 JavaScript 库的推荐方式。

相反,JavaScript 库的绑定是预先生成的,您可以在 NuGet 上找到它们作为包,如果您search for the FunScript tag(NuGet 搜索不是很好,因此您可能需要浏览许多页面以找到您需要的页面...)。

如果您想使用本地 TypeScript 定义,则需要 运行 命令行工具来生成绑定。 F# Atom 插件执行此操作 in the build script, so looking there is a good place to start. It has a local copy of various TypeScript bindings in the typings folder(连同处理它们所需的 FunScript 二进制文件)。

我更喜欢类型提供程序方法,但遗憾的是,类型提供程序在某种程度上限制了它们可以提供的类型,所以它并不是那么强大...

正如 Thomas 所说,类型提供程序被删除主要是因为它无法生成泛型类型,但我们的想法是在某个时候将其恢复。

目前,虽然不理想,但您可以按照这些步骤生成自己的绑定。

  1. 下载或克隆 Funscript 存储库

git clone https://github.com/ZachBray/FunScript

  1. 构建项目

cd FunScript build.cmd

  1. 这需要改进,但现在您需要压缩要转换的 .d.ts 文件,然后:

cd build\TypeScript bin\FunScript.TypeScript.exe C:\Path\to\typedefinitions.zip cd Output

请注意,第一次构建定义可能需要几分钟时间。在输出文件夹中完成后,您将找到带有绑定的已编译 .dll 库。

还有,当你在做的时候。最好使用刚刚构建到 build\main\bin 中的 FunScript 版本,因为它可能比 nuget 包更新得更多。

祝你好运,玩得开心(脚本)!