我正在使用带有pixijs和greensock的打字稿创建一个游戏(或者是gsap?)用于所有补间。我遇到了需要使用cubic-bezier曲线进行自定义缓动的情况。如果您创建一个帐户,Greensock有一个客户端文件,我这样做了。但该文件没有针对它的打字稿定义。
我不知道如何在没有类型def文件的情况下将此CustomEase.js文件合并到我的应用程序中。我尝试使用此https://github.com/bigp/gsap-customease,但它没有用。我觉得它陈旧过时了。
如何将CustomEase.js文件合并到我的打字稿应用程序中?
答案 0 :(得分:1)
有几种方法可以做到这一点,它们都有不同的含义。我发现它们对不同的情况都很有用。
不知道文件的基本结构,如果它是一个模块或全局,并且不知道它有多复杂,很难说哪个是最合适的,但这里有几个选项(有很多选项)更多)
您可以使用--allowJs
(tsconfig compilerOptions中的"allowJs": true
),它允许您直接从混合的TypeScript源中使用JavaScript源,而无需任何声明。 (ES下一个语法当然会自动转换)
手工编写声明文件。
以下列方式自动生成声明文件(也是手写声明的一个很好的起点)
创建CustomEase.js
将其重命名为CustomEase.ts
在一次性步骤中,运行tsc --declaration ./CustomEase.ts
删除CustomEase.ts
将生成的CustomEase.d.ts
声明文件与JavaScript一起保留。
将文件重命名为CustomEase.ts
并保持不变。您可能会遇到类型错误,但如果它包含有效的JavaScript,TypeScript会很乐意使用它,并在必要时进行转换。
(不推荐)如果文件的形状非常简单,例如,如果它只定义了一个名为customEase
的全局,那么你可以写
declare const customEase: any;
随时随地引用它。 (注意这只是一个例子,因为我不知道文件声明了什么)
如果2或3运行良好,请将其发回给维护人员,并要求他们将其包含在以后的版本中。