Я думаю, что здесь может быть концептуальное недоразумение, которое лежит в основе вашей проблемы. Похоже, вы хотите, чтобы интерфейсы были доступны во время выполнения . Интерфейсы Typescript - это просто концепция времени компиляции Они ничего не компилируют. Они не существуют во время выполнения.
Я взял эту часть вашего кода и поместил в файл с именем interf.d.ts
:
export namespace Interfaces {
export interface Interface {
property: string;
}
}
Затем я создал файл test.ts
:
import { Interfaces } from "./interf";
const x: Interfaces.Interface = {
property: "abc",
};
console.log(x);
Я не получаю сообщение об ошибке компиляции, и оно просто отлично работает. Как и ожидалось, интерфейс экспортирован . const
, который вы экспортируете позже, не нужен для экспорта интерфейса (и в любом случае он не экспортирует интерфейс, он экспортирует const
, который объявлен для соответствия интерфейсу , но const
- это не интерфейс).
Однако, если вы пытаетесь найти в скомпилированном JavaScript что-то, что соответствует вашему интерфейсу, вы не найдете его по той причине, которую я привел выше: это конструкция времени компиляции.