如何获得Greensock CustomEase与打字稿一起使用?

问题描述:

我正在用pixijs和greensock(或者它是gsap?)为所有补间创建一个使用打字稿的游戏。我遇到了一种情况,我需要用立方贝塞尔曲线进行一些定制放松。如果您创建了一个帐户,Greensock拥有一个您可以获得的customease文件,这是我所做的。但该文件没有打印机定义。如何获得Greensock CustomEase与打字稿一起使用?

我不知道如何将这个CustomEase.js文件合并到我的应用程序中,而不需要类型def文件。我尝试使用这个https://github.com/bigp/gsap-customease,但它没有奏效。我认为它过时而且过时。

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

+0

很高兴看到我的回答很有帮助。我很好奇你跟你一起走哪条路。你介意分享吗? :) –

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

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

  1. 您可以使用tsconfig compilerOptions --allowJs"allowJs": true),它允许您直接从comingled打字稿源消耗的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; 
    

    每当/无论你需要参考到它。(注意:这只是一个例子,因为我不知道该文件声明)

如果2个或3个工作很好,发回给维护,并要求他们将其包括在未来的版本。