2017-04-24 79 views
0

我正在用pixijs和greensock(或者它是gsap?)爲所有補間創建一個使用打字稿的遊戲。我遇到了一種情況,我需要用立方貝塞爾曲線進行一些定製放鬆。如果您創建了一個帳戶,Greensock擁有一個您可以獲得的customease文件,這是我所做的。但該文件沒有打印機定義。如何獲得Greensock CustomEase與打字稿一起使用?

我不知道如何將這個CustomEase.js文件合併到我的應用程序中,而不需要類型def文件。我嘗試使用這個https://github.com/bigp/gsap-customease,但它沒有奏效。我認爲它過時而且過時。

我該如何將CustomEase.js文件合併到我的打字稿應用程序中?

+0

很高興看到我的回答很有幫助。我很好奇你跟你一起走哪條路。你介意分享嗎? :) –

回答

1

有幾種方法可以做到這一點,它們都有不同的含義。我發現它們都適用於不同的情況。

不知道文件的基本結構,如果它是一個模塊或一個全局的,不知道它有多複雜,很難說哪個是最合適的,但這裏有幾個選項(有更多)

  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個工作很好,發回給維護,並要求他們將其包括在未來的版本。