以下作品:
interface Foo {
num: number;
}
class Foo {
}
下面不行,报错
Import declaration conflicts with local declaration of 'Foo'
import { Foo } from "./someModule";
class Foo {
}
这是有意为之的行为吗?如果我能够在一个模块中创建具有相同名称的接口(interface)和类,为什么不能导入?
最佳答案
两种情况下的行为是不同的。在第一种情况下,您最终不会得到一个接口(interface)和一个类,您最终会得到一个将两者合并的类。描述了行为 here .但是,这种行为不能跨模块发生。
如果你想扩充现有模块,你想要的行为称为模块扩充,也描述了 here .
关于与类同名的 Typescript 导入接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54500539/