我有一个我正在尝试为节点模块创建一个类型。我发现当我使用分解的类时,代码没有编译。
这是我的声明文件 demo.d.ts
declare namespace DemoNs {
interface Foo_static {
new(): Foo_instance;
}
interface Foo_instance {}
export var Foo: Foo_static;
}
declare module 'demo-ns' {
export = DemoNs
}
这是我的测试文件 demo-tests.ts
/// <reference path="demo.d.ts" />
import { Foo } from 'demo-ns';
var a: Foo;
当试图编译测试文件的最后一行时说:
error TS2304: Cannot find name 'Foo'.
答案 0 :(得分:0)
发现问题。
编译器抛出错误,因为即使很难导出Foo,也没有地方说它是一种类型。因此,他没有找到Foo。
我通过在我的声明文件中添加到我的命名空间Foo来修复,行:
export type Foo = Foo_instance;