angular - 更新 Angular 8 无法读取未定义的属性 ngInjectableDef
问题描述
我已经将我的 Angular 项目从 v7 更新到 v8.2.14,现在当我运行ng serve
它时,控制台中出现了这个错误:
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:834)
at core.js:16346
at _callFactory (core.js:30486)
at _createProviderInstance (core.js:30429)
at resolveNgModuleDep (core.js:30388)
我搜索了很多,但没有一个解决方案解决了我的问题。
这是我的 package.json
"dependencies": {
"@angular/animations": "8.2.14",
"@angular/cdk": "^8.2.3",
"@angular/common": "8.2.14",
"@angular/compiler": "8.2.14",
"@angular/core": "8.2.14",
"@angular/forms": "^8.2.14",
"@angular/material": "^8.2.3",
"@angular/platform-browser": "8.2.14",
"@angular/platform-browser-dynamic": "8.2.14",
"@angular/platform-server": "8.2.14",
"@angular/router": "8.2.14",
...
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.803.20",
"@angular/cli": "^8.3.23",
"@angular/compiler-cli": "^8.2.14",
"@angular/language-service": "8.2.14",
...
}
更新:
它在我运行时起作用ng build
。我只在运行时收到错误ng serve
。
解决方案
仍然无法找出问题的根本原因。
但我只是:
node_modules
通过运行删除:(npx rimraf node_modules
确保您在npm
>=v5.2.0
或仅rimraf
全局安装)- 再次安装它们:
npm i
瞧!我的项目再次运行。
PS:不能保证它是否也适合你。但值得一试,因为它对我有用。
推荐阅读
- java - Hibernate 审计的问题
- react-native - 当我尝试使用 PanGestureHandler 移动框时未调用 onGestureEvent
- python - 在 PyQt 中使用 QThread 发出信号
- postgresql - 更新视图中的重复值以使其唯一
- .htaccess - 有没有办法重定向到保留授权令牌的新域?
- vba - PowerPoint 宏 - 粘贴幻灯片并保留源格式
- perforce - perforce 获取文件的标签/标记历史记录
- ios - Xamarin 表单 - MediaPlugin - 照片选择器权限未按预期工作
- python - 检查关于 cuda 列表中是否存在元素
- javascript - 如何使用 map() 将检索到的 Firestore 文档存储在数组中?