Мы недавно предприняли попытку обновления с Angular 7 до Angular 8. Были некоторые проблемы при сборке, например, пришлось переименовать определение из d.ts в .ts, но заставили его скомпилировать, и мы, хотя все было в порядке. Но при запуске сайта мы получили ошибку во время выполнения:
ErrorDialogSettings is not defined
, ErrorDialogSettings
- это интерфейс, который используется в конструкторе в качестве параметра для компонента диалога, и класс, и интерфейс объявляются в одном файле. Сгенерированный вывод содержит следующее { type: ErrorDialogSettings, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_0__["Inject"], args: [_angular_material_dialog__WEBPACK_IMPORTED_MODULE_1__["MAT_DIALOG_DATA"],] }] }
. Что мне показалось странным, так это то, что на интерфейс есть ссылки. В чем может быть проблема? Я не могу понять, что изменилось, это может быть что угодно, от Webpack до Typescript.
Мы используем Typescript 3.4.5, Angular Materials 8 и Angular CLI 8