[英]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.