簡體   English   中英

在打字稿文件中使用JavaScript庫

[英]Using JavaScript libraries in typescript files

我正在嘗試在TypeScript文件中使用Phaser Input JS庫

我將所有文件下載到我的項目中:

夾

我在HTML頁面中引用了js文件,

 <script type="text/javascript" src="phaser-input.js"></script>

並在我的app.ts文件中。

/// <reference path="phaser-input.d.ts" />

但是當我嘗試在ts文件中使用它時,我寫了

var input = game.add.inputField(10, 90);

我得到錯誤

屬性“ inputField”不會在類型“ GameObjectFactory”上退出

任何有關如何使其工作的建議均受到贊賞。

您需要做的是聲明合並。

phaser-input.d.ts擁有自己的命名空間Fabrique ,似乎沒有合並到Phaser命名空間或GameObjectFactory類。 因此,您需要通過制作另一個d.ts文件並在app.ts中引用它來手動進行操作

//index.d.ts
/// <reference path="phaser.d.ts" />
/// <reference path="phaser-input.d.ts" />

declare module Phaser {
  interface GameObjectFactory {
    inputField(x: number, y: number, inputOptions?: Fabrique.InputOptions): Fabrique.InputField
  }
}

//app.ts
///<reference path="index.d.ts" />

var input = game.add.inputField(10, 90);

嘗試使用以下語法:

//phaser-input.d.ts
declare module "lib/phaser-input" {
  var input = game.add.inputField(10, 90);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM