[英]How do I use TypeScript Interfaces correctly when using External Modules?
我对外部模块有些陌生。 我想创建一个新的Updatable
接口,许多游戏对象都将实现该接口。
使用内部模块,您可以在文件顶部插入.ts引用,这很好。 Blah implements Updatable
但是,对于外部模块,我似乎无法弄清楚如何编写和访问该接口的过程。 我觉得我不想导入它,因为它不是JS东西,同时在全局范围内导出它并不能访问它(找不到可更新)。 我在互联网上发现的唯一其他建议是,有人使用d.ts文件作为接口,这似乎很奇怪,因为我认为它们是用于定义文件的。
谁能阐明实现此目标的最佳方法?
经过一番挖掘之后,我拿到了这张票 。
interface I {
}
export default I;
我觉得我不想导入它,因为它不是JS东西,同时在全局范围内导出它并不能访问它(找不到可更新)。
继续并导入它们。 TSC不会输出仅用于类型检查的内容的import语句。 接口只会从生成的JavaScript中消失。
这段代码:
import {FooClass, BarInterface, BazClass} from './baz';
class Bam extends FooClass {
boom(baz: BazClass): BarInterface { return {}; }
}
如果您定位到ES6,它将成为下面的代码。
import { FooClass } from './baz';
class Bam extends FooClass {
boom(baz) { return {}; }
}
我在互联网上发现的唯一其他建议是,有人使用d.ts文件作为接口,这似乎很奇怪,因为我认为它们是用于定义文件的。
是的我同意。 我真的建议将与模块相关的接口放入模块中,并且不要将其分散在全局范围内。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.