Angular 9 не может сослаться на глобальный тип, который я объявил в файле определения пользовательского типа - PullRequest
2 голосов
/ 18 марта 2020

Я пытался обновить мой angular проект с Angular 8 до 9.

После обновления я ввел ng serve, чтобы запустить свое приложение, и оно выдало следующие ошибки:

src/app/core/components/server-map/server-map-container.component.ts:259:59 - error TS2304: Cannot find name 'ICoordinate'.

259     onContextClickLink({key, coord}: {key: string, coord: ICoordinate}): void {
                                                              ~~~~~~~~~~~
src/app/core/components/server-map/server-map-change-notification.service.ts:52:27 - error TS2304: Cannot find name 'ITransactionDetailData'.

52             filter((data: ITransactionDetailData) => {
                             ~~~~~~~~~~~~~~~~~~~~~~
src/app/core/components/server-map/server-map-change-notification.service.ts:55:28 - error TS2304: Cannot find name 'ITransactionDetailData'.

55         ).subscribe((data: ITransactionDetailData) => {
                              ~~~~~~~~~~~~~~~~~~~~~~
src/app/core/components/server-map/server-map-change-notification.service.ts:58:82 - error TS2304: Cannot find name 'INodeInfo'.

Я полагаю, что это как-то связано с моим файлом пользовательского определения, который не возникает без ошибок в Angular 8. В любом случае, я объявил типы, которые я использую в приложении, в globals.d.ts. в src директории и дайте приложению знать об этом, сославшись на tsconfig.app.json как:

"include": [
   "src/**/*.d.ts"
]

Опять же, с этим подходом не было никаких проблем, и мне просто интересно, изменилось ли что-то внутренне, чего я не сделал см. их руководство по миграции. Любое понимание будет оценено!

...