我试图使用一个库(PixiJS),它具有来自&types; @ types / pixi.js'的过时类型定义。如何使用现有类型以及尚未定义的类型?我试图做以下事情:
import * as PIXI from 'pixi.js'; // use PIXI types (PIXI.Renderer, PIXI.stage, etc)
declare var PIXI.Application: any; // untyped PIXI.Application
在VSCode中,我收到以下错误:
[ts] Import declaration conflicts with local declaration of 'PIXI'
答案 0 :(得分:1)
您需要使用module augmentation:
import * as PIXI from "pixi.js";
declare module "pixi.js" {
class Application {}
}
const app = new PIXI.Application();
我刚刚将Application
添加为没有任何方法的类,因为我不太了解这个库,但是使用这种方法可以添加你需要的任何东西。
这不是实现,请注意declare
关键字。
您正在添加到现有的模块声明中,该类只有一个声明,如果您想要添加方法,例如您只添加签名。
例如,如果该类具有echo
方法,那么它将如下所示:
declare module "pixi.js" {
class Application {
echo(value: string): string;
}
}
有关详细信息,请查看提供的链接。