Подтвердить что ты не робот

Как объявить и импортировать интерфейсы typescript в отдельный файл

Я хочу определить несколько интерфейсов в своем собственном файле в моем проекте typescript, из которого я буду использовать классы для производства, а также макеты для тестирования. Однако я не могу понять, что такое правильный синтаксис. Я нашел много учебников по объявлению интерфейсов и их реализации, но все они имеют тривиальную реализацию как интерфейса, так и производных классов в одном файле, что не очень реально. Какой правильный способ экспорта и импорта интерфейсов?

4b9b3361

Ответ 1

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

IfcSampleInterface.ts

export interface IfcSampleInterface {
   key: string;
   value: string;
}

SampleInterface.ts

import { IfcSampleInterface } from './IfcSampleInterface.ts';

let sampleVar: IfcSampleInterface;

Ответ 2

Используйте определения (d.ts) файлов и пространства имен, нет необходимости импортировать/экспортировать модули таким образом. Проект definitelyTyped имеет руководство и огромное количество примеров, как это сделать он.

Ответ 3

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

x.ts

interface X{
    ...
}
export default X

y.ts

import X from "./x.ts"
// You can use X now

Для получения дополнительной информации см. https://www.typescriptlang.org/docs/handbook/modules.html