Typescript 命名空间没有导出的成员
当我在TypeScript中写这篇文章时,我得到一个错误,说Typescript 命名空间没有导出的成员,typescript,Typescript,当我在TypeScript中写这篇文章时,我得到一个错误,说名称空间栏没有导出的成员Qux。为什么会这样?我该如何修复它 class Foo{} 名称空间栏 { 导出常量Qux=Foo; } 让a:Bar.Qux; 实现中的Qux是一个变量而不是一种类型。 因此,以下代码是有效的: class Foo {} namespace Bar { export const Qux = Foo; } let a = Bar.Qux; 如果您想将Qux用作接口或扩展类,您可以执行以下操作: c
名称空间栏没有导出的成员Qux
。为什么会这样?我该如何修复它
class Foo{}
名称空间栏
{
导出常量Qux=Foo;
}
让a:Bar.Qux;
实现中的Qux
是一个变量而不是一种类型。
因此,以下代码是有效的:
class Foo {}
namespace Bar {
export const Qux = Foo;
}
let a = Bar.Qux;
如果您想将Qux
用作接口
或扩展类
,您可以执行以下操作:
class Foo {}
namespace Bar {
export class Qux extends Foo {}
}
let a = new Bar.Qux();
这能解决您的问题吗?您导出的是常数,而不是类型。您可以这样做a=newbar.Foo()
,并且a
将是Foo类型
如果要同时导出类型和常量:
namespace Bar
{
export const Qux = Foo;
export type Qux = Foo;
}
然后你可以有:
let a: Bar.Qux = new Bar.Qux();
TypeScript将根据上下文确定您使用的是类型定义还是常量