Интерфейс импорта Typescript с тем же именем, что и класс - PullRequest
0 голосов
/ 03 февраля 2019

Ниже работает:

interface Foo {
  num: number;
}

class Foo {
}

Ниже не работает, ошибка

Конфликт объявления импорта конфликтует с локальным объявлением 'Foo'

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

Это предполагаемое поведение?Если я могу создать интерфейс и класс с одним и тем же именем в одном модуле, почему я не могу импортировать?

1 Ответ

0 голосов
/ 03 февраля 2019

Поведение отличается в двух случаях.В первом случае вы не получаете интерфейс и класс, а один класс, который является слиянием двух.Поведение описано здесь .Это поведение не может происходить между модулями.

Если вы хотите дополнить существующий модуль, то требуемое поведение называется расширением модуля и также описывается здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...