我对外部模块有些新意。我想创建一个新的Updatable
接口,我的许多游戏对象都将实现该接口。
使用内部模块,您可以拉入文件顶部的.ts参考,然后您就可以开始了。 Blah implements Updatable
但是,对于外部模块,我似乎无法弄清楚如何编写和访问该接口的过程。我觉得我不想导入它,因为它不是JS的东西,同时在全局范围内导出它不会使它可访问(找不到Updatable)。我在互联网上发现的另一个建议是有人使用d.ts文件作为接口,这看起来很奇怪,因为我认为它们是用于定义文件。
任何人都可以了解最佳方法吗?
经过一番挖掘后,我来到了this ticket。
interface I {
}
export default I;
答案 0 :(得分:2)
我觉得我不想导入它,因为它不是JS的东西,同时在全局范围内导出它不会使它可访问(找不到Updatable)。
继续并导入它们。 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文件作为接口,这看起来很奇怪,因为我认为它们是用于定义文件。
是的,我同意。我真的建议在模块中放置与模块相关的接口,而不是分散在全局范围内。