【发布时间】:2018-07-19 07:42:06
【问题描述】:
简而言之,使用 declare 或 export 定义我自己的接口是更好的做法吗?
// i.something.d.ts
export default interface ISomething {
myValue: string;
}
// something.ts
import ISomething from 'i.something';
export class Something implements ISomething {...}
对比
// i.something.d.ts
declare interface ISomething {
myValue: string;
}
// something.ts
export class Something implements ISomething {...}
当然,如果必须导入自己的另一种类型,即使声明也无法正常工作。 (除非有更好的方法)
// i.something-else.d.ts
import SomeBiggerThing from '...';
import SomeKindOfType from '...';
declare interface ISomethingElse extends SomeBiggerThing {
myValue: SomeKindOfType;
}
// something-else.ts
// ISomethingElse isn't available unless I import it, because it imports its own stuff.
import ISomethingElse from 'i.something-else';
export class Something implements ISomethingElse {...}
【问题讨论】:
标签: typescript module interface export declare