【问题标题】:Typescript import interface with same name as class与类同名的打字稿导入接口
【发布时间】:2019-06-27 06:32:37
【问题描述】:

以下作品:

interface Foo {
  num: number;
}

class Foo {
}

下面不起作用,错误

导入声明与 'Foo' 的本地声明冲突

import { Foo } from "./someModule";
class Foo {
}

这是预期的行为吗?如果我可以在一个模块中创建同名的接口和类,为什么不能导入?

【问题讨论】:

    标签: typescript class import interface


    【解决方案1】:

    这两种情况下的行为是不同的。在第一种情况下,您最终不会得到一个接口和一个类,您最终会得到一个将两者合并的类。该行为描述为here。但是,这种行为不会跨模块发生。

    如果您想扩充现有模块,您想要的行为称为模块扩充,也被描述为here

    【讨论】:

    • 如果是上面示例中的 IFoo 和 Foo,模块扩充会是什么样子?您可以将其添加到答案中吗?
    猜你喜欢
    • 1970-01-01
    • 2012-12-26
    • 2021-02-02
    • 2019-06-01
    • 2019-09-23
    • 1970-01-01
    • 2017-02-19
    • 1970-01-01
    • 2019-04-11
    相关资源
    最近更新 更多