首页 > 解决方案 > 接口与导入和本地合并不起作用?

问题描述

接口合并示例显示可以将接口合并到单个文件中。但是当它们在不同的文件中时,我无法合并接口。

请注意,我没有增加任何模块,没有模块,只是接口。

/types/index.d.ts

export interface A { baseline: string }

/someFile.ts

import {A} from './types/index'; // <-- Error "Import declaration conflicts with local declaration of 'A'"
import {FancyInterface} from './SomeClass'

interface A {
  someAdditionalFlavor: FancyInterface
}
export default class ABC implements A {}

我打算在这里使用相同的接口名称,因为它们实际上是相同的接口,但是由于我与其他模块共享基本接口,因此我无法在其中添加 FancyInstance。

标签: typescripttypescript-typings

解决方案


记录答案,方便其他人看到。

您可以在导入时提供别名,就像这样

import { A as ImportedA } from './types/index';
import { FancyInterface } from './SomeClass'

interface A {
  someAdditionalFlavor: FancyInterface
}

// Then use distinct A or ImportedA

推荐阅读