Angular 11迁移至14后执行ng serve报错:Class extends value undefined
Angular 11迁移到14后
ng serve报Class extends value undefined错误的解决方案 这个错误通常由依赖不兼容、循环导入或第三方库适配问题导致,以下是具体排查和修复步骤:
检查并升级第三方依赖版本
项目中的第三方库(如UI组件库、自定义工具库)可能未适配Angular 14,导致继承关系失效。执行npm list查看依赖树,找出与Angular 14版本不兼容的包,升级到官方标注支持Angular 14的版本。排查循环导入问题
组件、服务或模块间的循环引用(如A导入B,B又导入A)会触发该错误。检查代码中的导入关系,重构逻辑消除循环:比如通过注入器延迟获取依赖,或把共享逻辑抽离为独立模块。清理缓存并重装依赖
- 删除
node_modules文件夹:Windows执行rmdir /s /q node_modules,Mac/Linux执行rm -rf node_modules - 删除
package-lock.json文件 - 执行
npm install重新安装依赖 - 清理Angular缓存:
ng cache clean --all
- 删除
检查TypeScript配置
Angular 14要求TypeScript 4.6.x及以上版本,确认tsconfig.json配置:compilerOptions.target设为ES2020或更高compilerOptions.lib包含ES2020、DOM等必要项- 修复
strict模式下的类型错误,新版本对类型检查更严格
通过日志定位具体问题
打开错误提示中的日志文件C:\Users\User\AppData\Local\Temp\ng-ISIjXp\angular-errors.log,查看完整调用栈,找到触发错误的具体类和文件,针对性修复继承关系或导入问题。
内容的提问来源于stack exchange,提问作者shubhankar singh
相关产品推荐
相关产品推荐

