如何让Greensock CustomEase使用打字稿?

时间:2017-04-24 19:20:43

标签: javascript typescript tween greensock gsap

我正在使用带有pixijs和greensock的打字稿创建一个游戏(或者是gsap?)用于所有补间。我遇到了需要使用cubic-bezier曲线进行自定义缓动的情况。如果您创建一个帐户,Greensock有一个客户端文件,我这样做了。但该文件没有针对它的打字稿定义。

我不知道如何在没有类型def文件的情况下将此CustomEase.js文件合并到我的应用程序中。我尝试使用此https://github.com/bigp/gsap-customease,但它没有用。我觉得它陈旧过时了。

如何将CustomEase.js文件合并到我的打字稿应用程序中?

1 个答案:

答案 0 :(得分:1)

有几种方法可以做到这一点,它们都有不同的含义。我发现它们对不同的情况都很有用。

不知道文件的基本结构,如果它是一个模块或全局,并且不知道它有多复杂,很难说哪个是最合适的,但这里有几个选项(有很多选项)更多)

  1. 您可以使用--allowJs(tsconfig compilerOptions中的"allowJs": true),它允许您直接从混合的TypeScript源中使用JavaScript源,而无需任何声明。 (ES下一个语法当然会自动转换)

  2. 手工编写声明文件。

  3. 以下列方式自动生成声明文件(也是手写声明的一个很好的起点)

    • 创建CustomEase.js

    • 的副本
    • 将其重命名为CustomEase.ts

    • 在一次性步骤中,运行tsc --declaration ./CustomEase.ts

    • 删除CustomEase.ts

    • 将生成的CustomEase.d.ts声明文件与JavaScript一起保留。

  4. 将文件重命名为CustomEase.ts并保持不变。您可能会遇到类型错误,但如果它包含有效的JavaScript,TypeScript会很乐意使用它,并在必要时进行转换。

  5. (不推荐)如果文件的形状非常简单,例如,如果它只定义了一个名为customEase的全局,那么你可以写

    declare const customEase: any;
    

    随时随地引用它。 (注意这只是一个例子,因为我不知道文件声明了什么)

  6. 如果2或3运行良好,请将其发回给维护人员,并要求他们将其包含在以后的版本中。