一种忽略名称空间内容的方法:类和变量

时间:2019-01-18 16:59:32

标签: typescript

描述我的问题的最好方法是显示代码:

我有ns.d.ts:

declare namespace ns {
}

以及许多使用此命名空间的.ts文件:

let a = new ns.ClassOne();
let c = new ns.submodule.function(23);

输出:

error TS2694: Namespace 'ns' has no exported member 'ClassOne'.
error TS2708: Cannot use namespace 'ns' as a value.

基本上,我有一个巨大的名称空间和一个使用它的类,子模块和函数的代码库。问题是,我不想编写整个类型定义-我希望打字稿完全忽略它。

有什么方法可以定义这个名称空间,所以TypeScript会确认我知道自己在做什么,并允许我使用该名称空间而不会强迫我键入它包含的所有内容?

1 个答案:

答案 0 :(得分:0)

只需将名称空间声明为类型any的变量即可。编译器将不会检查对该变量的任何访问。

declare const ns:any;
let a = new ns.ClassOne();
let c = new ns.submodule.function(23);