Как импортировать файл барреля модели сваггера в Typescript (Angular) - PullRequest
0 голосов
/ 18 октября 2019

В настоящее время мы автоматически генерируем наши модели API с помощью swagger и хотим удобно импортировать их в наш проект.

В настоящее время мы импортируем их следующим образом: tsconfig.ts

"paths": {
  "apimodel/*": ["frontend/swagger-api-definition/model/*"]
}

Случайный класс источника данных:

import { ExampleDtoQuery } from 'apimodel/exampleDtoQuery ';
import { ExampleUserDtosUserManagerDashboardResponseUserProject } from 'apimodel/exampleUserDtosUserManagerDashboardResponseUserProject ';

Имена просто случайные, не судите их, пожалуйста:)

Теперь я хотел бы создать псевдоним вtsconfig и использовать файл барреля, который генерируется в корне. Вот так: tsconfig.ts

"paths": {
  "@apimodel": ["frontend/swagger-api-definition/index.ts"]
},

Случайный класс источника данных:

import { ExampleDtoQuery } from '@apimodel';
import { ExampleUserDtosUserManagerDashboardResponseUserProject } from '@apimodel ';

Но компилятор постоянно говорит мне: Cannot find module '@apimodel'.ts(2307)

Любой совет?

1 Ответ

1 голос
/ 18 октября 2019

* в определении пути указывает компилятору TS разрешить импорт из чего-либо с префиксом @apimodel/. Вам также необходимо предоставить baseUrl, иначе компилятор TS не сможет найти нужный файл барреля. Чтобы заставить его работать так, как вы хотите, вы должны обновить определения paths и baseUrl:

"baseUrl": "./",
"paths": {
  "@apimodel": ["frontend/swagger-api-definition/index.ts"]
},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...