如果我有一个文件夹:
jobs/
a.ts
b.ts
c.ts
有没有办法使用TypeScript,以便jobs文件夹中的所有文件都导出相同的界面?
我希望a.ts,b.ts,c.ts都可以导出相同的界面。
答案 0 :(得分:1)
不确定您要找的是什么,但您可以这样做:
在jobs
目录中:
a.ts
:
export interface MyInterface {
color: string;
}
b.ts
:
export interface MyInterface {
name: string;
}
c.ts
:
export interface MyInterface {
age: number;
}
然后,是其他文件,你可以这样:
import { MyInterface } from './jobs/a';
export class SomeClass implements MyInterface {
color: string;
}
在另一个文件中,您可以拥有:
import { MyInterface } from './jobs/b';
export class SomeClass implements MyInterface {
name: string;
}
在另一个不同的文件中,您可以拥有:
import { MyInterface } from './jobs/c';
export class SomeClass implements MyInterface {
age: number;
}
除非有一个非常好的,防弹的理由,否则我认为这根本不是一个好主意。它很容易混淆并导入/修改错误的东西,并导致自己不必要的麻烦。
从技术上讲,所有三个接口都来自a,b,& c可以有相同的参数(就像他们都有name: string
)...它基本上是一样的......也许你以后会对更改进行对冲?您可以扩展该FYI的接口。
你能进一步解释你想要完成的事情吗?
你不能在同一个档案中拥有这一切:
import { MyInterface } from './jobs/a';
import { MyInterface } from './jobs/b';
import { MyInterface } from './jobs/c';
export class SomeClass implements MyInterface {
age: number;
}
export class SomeOtherClass implements MyInterface {
color: string;
}
export class SomeOtherOtherClass implements MyInterface {
name: string;
}