typescript - 导入与命名空间同名的类
问题描述
我正在使用具有单独 @types 定义的第三方库,如下所示:
declare namespace Foo { /* ... */ }
declare class Foo { /* ... */ }
export = Foo;
如何在我的代码中导入类 Foo?
另外,这种奇怪的名称重复是 Typescript 中的一种好习惯吗?(这是我正在使用的实际定义文件)。
解决方案
你的类是一个构造函数。当命名空间对象附加到构造函数定义时,它们本质上将合并,并且您将拥有类似嵌套类的东西。如果您只想导入 Foo 类,那么您就欺骗了自己。
我不能说这是否是好的做法,但我用它来模拟嵌套类。
可以使用以下命令导入命名空间和类:
import * as Foo from 'foo';
推荐阅读
- android - 使用 ViewModel 处理不同片段之间的数据并更新
- arm - 内存访问与区域重叠
- docker - 来自工作节点的容器无法加入 swarm 的可连接网络
- javascript - null与未定义的Javascript内存影响
- r - 如何通过多个因素选择多行?
- javascript - 使用画布创建视频帧
- python - 推送到远程仓库
- python - SageMath 是否提供交互式教程?
- python - 尽管禁用了 app.autodiscover_tasks() 和 CELERY_IMPORTS,Celery 仍会发现所有以前的任务
- mysql - 为什么 cmbStream.ValueMember = "id" 为所有值显示零而 cmbStream.DisplayMember = "name" 显示正确的值