TypeScript:在没有定义的情况下添加库时如何欺骗编译器?

时间:2015-12-23 10:18:35

标签: typescript

我试图找出如何“欺骗”编译器以为我正在使用某些定义。

我的构造函数中包含以下内容:

nv.addGraph(()=> {...})

在课前我说:

public nv:nv;

在我的模型中,我有:

export interface nv{
    addGraph:any;
    models:any;
    utils:any;
}

但是,我仍然收到错误:

 error TS2304: Cannot find name 'nv'.

我已经尝试了不同的方法,通过创建类:

export class nv{
    addGraph:any
}

但后来我收到以下错误:

error TS2339: Property 'addGraph' does not exist on type 'typeof nv'.

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您可以使用类型声明:

declare class nv {
    addGraph: string;
}

var c = nv();

这会编译,但只有在您加载相应的库时才能正常工作。

答案 1 :(得分:0)

您可以使用declare var并且不需要任何TypeScript类:

declare var nv;

nv.addGraph(()=> {
   // something here
});

[Playground]