描述我的问题的最好方法是显示代码:
我有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会确认我知道自己在做什么,并允许我使用该名称空间而不会强迫我键入它包含的所有内容?
答案 0 :(得分:0)
只需将名称空间声明为类型any
的变量即可。编译器将不会检查对该变量的任何访问。
declare const ns:any;
let a = new ns.ClassOne();
let c = new ns.submodule.function(23);