Как использовать интерфейсы из другого файла в typsecript для определения DTO - PullRequest
0 голосов
/ 03 апреля 2020

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

Ошибка: файл TS2306 'template JS .ts' не является модулем

Как я должен это делать сделать это правильно?

template JS .ts

export interface ITemplateJS {
  id: number,
  name: string
}

template.component.ts

import { ITemplateJS } from './../models/templateJS';
export class TemplateComponent {
    public template : ITemplateJS;
}

1 Ответ

2 голосов
/ 03 апреля 2020

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

import { ITemplateJS } from './../models/templateJS';

try

import { ITemplateJS } from '../models/templateJS';

Я думаю, что это решит вашу проблему, но хорошей практикой является создание файла index.ts и экспорт всех ваших интерфейсов / классов туда с использованием этот файл вам не обязательно ссылаться на определенные c файлы.

Пример:

  1. Создать файл index.ts в папке моделей.
  2. Добавить эту строку в файл index.ts

    export * from './templateJS';

    // Добавьте все интерфейсы и классы, которые вы хотите экспортировать

  3. Импортируйте свой интерфейс, используя:

    import { ITemplateJS } from '../models';

Я надеюсь, что эти идеи помогут вам решить эту проблему.

Удачное кодирование !!!

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