В настоящее время я работаю над приложением, которое шло нормально, и вдруг я получаю эту ошибку. Ничего не изменилось, за исключением того, что мы работали над Angular 8, а другой разработчик использовал Angular 9. После того, как мы объединили код, эта ошибка начала появляться случайным образом.
Я удалил папку node_modules
, запустил npm cache clean --force
и сделал новую установку npm, но все еще получаю эту ошибку. Любая помощь приветствуется.
Ошибка:
ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'ngInjectableDef' of undefined
TypeError: Cannot read property 'ngInjectableDef' of undefined
at getInjectableDef (core.js:361)
at resolveNgModuleDep (core.js:30377)
at NgModuleRef_.get (core.js:31578)
at injectInjectorOnly (core.js:734)
at ɵɵinject (core.js:744)
at injectArgs (core.js:837)
at core.js:16346
at _callFactory (core.js:30486)
at _createProviderInstance (core.js:30429)
at resolveNgModuleDep (core.js:30388)
at resolvePromise (zone-evergreen.js:797)
at resolvePromise (zone-evergreen.js:754)
at zone-evergreen.js:858
at ZoneDelegate.invokeTask (zone-evergreen.js:391)
at Object.onInvokeTask (core.js:39680)
at ZoneDelegate.invokeTask (zone-evergreen.js:390)
at Zone.runTask (zone-evergreen.js:168)
at drainMicroTaskQueue (zone-evergreen.js:559)
at ZoneTask.invokeTask [as invoke] (zone-evergreen.js:469)
at invokeTask (zone-evergreen.js:1603)
1 ответ
Помимо других ответов, которые уже есть на SO, я публикую свои выводы, так как это может помочь кому-то еще в будущем.
Один из других разработчиков удалил служебный файл из приложения и проверил код. Мы объединились, все было хорошо.
ng build --prod
прошло нормально
ng serve
обслужил приложение нормально
Приложение работало, но эта проблема возникла, когда мы перешли к компоненту, где этот файл все еще упоминался и был внедрен в конструктор. Visual Studio 2019 не выдавал ошибок, поэтому это было немного странно.
Вероятно, это редкий сценарий, поскольку никто не удаляет файлы часто, но надеюсь, что это поможет другим, если они столкнутся с этим сценарием.
Похожие вопросы
Связанные вопросы
Новые вопросы
angular
Вопросы об Angular (не путать с AngularJS), веб-фреймворке от Google. Используйте этот тег для вопросов Angular, которые не относятся к отдельной версии. Для более старой веб-инфраструктуры AngularJS (1.x) используйте тег AngularJS.
flush node cache
?super
, если вы расширяете какой-либо классsuper
, поскольку я не расширяю какой-либо класс. Да, я также сбрасывал кеш узла.