angular - 从 Angular 8 升级到 v12 导致“生成浏览器应用程序包(阶段:设置)...TypeError:无法读取未定义的属性'文本'”
问题描述
我一直在努力将 Angular 应用程序从 v8 升级到 v12。我已经通过每个版本完成了所有升级步骤。一切都很顺利。但是,我正在尝试运行项目“ng serve”,并且收到一条我无法弄清楚的神秘错误编译错误消息。
这是 ng serve 吐出的错误。ng build 也出现同样的错误。
⠋ 生成浏览器应用程序包(阶段:设置)...TypeError:无法读取未定义的属性“文本” 在 NodeObject.getText (/Users/ericdeveloper/Development/ClientApps/TBVApp/node_modules/typescript/lib/typescript.js:152697:31) 在 getRequiredModulePath (/Users/ericdeveloper/Development/ClientApps/TBVApp/node_modules/@angular/compiler-cli/ngcc/src/host/umd_host.js:519:99) 在 Object.getImportsOfUmdModule (/Users/ericdeveloper/Development/ClientApps/TBVApp/node_modules/@angular/compiler-cli/ngcc/src/host/umd_host.js:510:23) 在 UmdDependencyHost.extractImports (/Users/ericdeveloper/Development/ClientApps/TBVApp/node_modules/@angular/compiler-cli/ngcc/src/dependencies/umd_dependency_host.js:43:54) 在 UmdDependencyHost.DependencyHostBase.recursivelyCollectDependencies (/Users/ericdeveloper/Development/ClientApps/TBVApp/node_modules/@angular/compiler-cli/ngcc/src/dependencies/dependency_host.js:85:32) 在 UmdDependencyHost.DependencyHostBase.collectDependencies (/Users/ericdeveloper/Development/ClientApps/TBVApp/node_modules/@angular/compiler-cli/ngcc/src/dependencies/dependency_host.js:38:22) 在 DependencyResolver.getEntryPointWithDependencies (/Users/ericdeveloper/Development/ClientApps/TBVApp/node_modules/@angular/compiler-cli/ngcc/src/dependencies/dependency_resolver.js:75:22) 在 EntryPointCollector.walkDirectoryForPackages (/Users/ericdeveloper/Development/ClientApps/TBVApp/node_modules/@angular/compiler-cli/ngcc/src/entry_point_finder/entry_point_collector.js:47:52) 在 EntryPointCollector.walkDirectoryForPackages (/Users/ericdeveloper/Development/ClientApps/TBVApp/node_modules/@angular/compiler-cli/ngcc/src/entry_point_finder/entry_point_collector.js:75:103) 在 /Users/ericdeveloper/Development/ClientApps/TBVApp/node_modules/@angular/compiler-cli/ngcc/src/entry_point_finder/program_based_entry_point_finder.js:124:100 /Users/ericdeveloper/Development/ClientApps/TBVApp/node_modules/@ngtools/webpack/src/ngcc_processor.js:139 throw new Error(errorMessage + `NGCC failed${errorMessage ?', 见上': ''}.`); ^ 错误:NGCC 失败。 在 NgccProcessor.process (/Users/ericdeveloper/Development/ClientApps/TBVApp/node_modules/@ngtools/webpack/src/ngcc_processor.js:139:19) 在 /Users/ericdeveloper/Development/ClientApps/TBVApp/node_modules/@ngtools/webpack/src/ivy/plugin.js:129:27 在 Hook.eval [as call] (创建时的评估(/Users/ericdeveloper/Development/ClientApps/TBVApp/node_modules/tapable/lib/HookCodeFactory.js:19:10),:32:1) 在 Hook.CALL_DELEGATE [as _call] (/Users/ericdeveloper/Development/ClientApps/TBVApp/node_modules/tapable/lib/Hook.js:14:14) 在 Compiler.newCompilation (/Users/ericdeveloper/Development/ClientApps/TBVApp/node_modules/webpack/lib/Compiler.js:1043:30) 在 /Users/ericdeveloper/Development/ClientApps/TBVApp/node_modules/webpack/lib/Compiler.js:1088:29 在 Hook.eval [as callAsync](创建时的评估(/Users/ericdeveloper/Development/ClientApps/TBVApp/node_modules/tapable/lib/HookCodeFactory.js:33:10),:22:1) 在 Hook.CALL_ASYNC_DELEGATE [as _callAsync] (/Users/ericdeveloper/Development/ClientApps/TBVApp/node_modules/tapable/lib/Hook.js:18:14) 在 Compiler.compile (/Users/ericdeveloper/Development/ClientApps/TBVApp/node_modules/webpack/lib/Compiler.js:1083:28) 在 /Users/ericdeveloper/Development/ClientApps/TBVApp/node_modules/webpack/lib/Watching.js:200:19
我发现另一个有类似错误的帖子。它说 angular v12.2.12 存在问题。我尝试降级到 v12.2.4 但没有帮助。
这是我的 package.json 内容...
{ “名称”:“愤怒”, “版本”:“7.0.0”, “脚本”:{ “ng”:“ng”, “开始”:“ng服务--ssl true--ssl-key ../../SSL/localhostdev.key --ssl-cert ../../SSL/localhostdev.crt --host 0.0.0.0 - -disableHostCheck", "build": "node --trace-warnings ng build --prod", “测试”:“ng测试”, “lint”:“ng lint”, “e2e”:“ng e2e”, "buildtest": "node --trace-warnings & export NODE_OPTIONS=--max_old_space_size=8192 & ng build --extract-css=false --configuration test --aot --outputHashing=all", "buildprod": "export NODE_OPTIONS=--max_old_space_size=8192 & ng build --extract-css=false --prod --aot --outputHashing=all", "内存": "设置 NODE_OPTIONS=--max_old_space_size=8192", “更新:包”:“节点擦除依赖.js && rm -rf node_modules && npm update --save-dev && npm update --save” }, “私人”:真的, “依赖”:{ "@angular/animations": "~12.2.4", "@angular/cdk": "~12.2.4", "@angular/cli": "~12.2.4", "@angular/common": "~12.2.4", "@angular/compiler": "~12.2.4", "@angular/core": "~12.2.4", "@angular/flex-layout": "12.0.0-beta.34", "@angular/forms": "~12.2.4", "@angular/material": "~12.2.4", "@angular/platform-browser": "~12.2.4", "@angular/platform-browser-dynamic": "~12.2.4", "@angular/router": "~12.2.4", "@angular/youtube-player": "~12.2.4", "@cloudinary/angular": "^1.0.0-beta.11", "@cloudinary/angular-5.x": "^1.5.0", "@fortawesome/angular-fontawesome": "^0.9.0", "@fortawesome/fontawesome-svg-core": "^1.2.36", "@fortawesome/free-brands-svg-icons": "^5.15.4", "@fortawesome/free-solid-svg-icons": "^5.15.4", "@nebular/eva-icons": "8.0.0", "@ngx-translate/core": "^13.0.0", "@opentok/client": "^2.21.1", "@stripe/stripe-js": "^1.20.3", "@types/jquery": "^3.5.8", "@types/twilio-video": "^2.11.0", "@videojs/http-streaming": "^2.11.2", “角度日历”:“^0.28.28”, “角度-oauth2-oidc”:“^12.1.0”, "chart.js": "~3.6.0", "chart.piecelabel.js": "~0.15.0", "cloudinary-core": "^2.12.0", "core-js": "^3.19.0", "cors": "^2.8.5", "eva-icons": "^1.1.3", "hammerjs": "~2.0.8", "highlight.js": "~11.3.1", "安装": "^0.13.0", "jquery": "^3.6.0", "jwt-decode": "^3.1.2", "lodash-es": "^4.17.21", “时刻”:“~2.29.1”, "时刻-时区": "^0.5.33", "ng-zorro-antd": "^12.0.1", "ngx-audio-player": "^11.0.4", "ngx-bootstrap": "^7.1.0", "ngx-bootstrap-modal": "^2.0.1", "ngx-cookie-service": "^12.0.3", "ngx-countdown": "^12.0.1", "ngx-device-detector": "^2.1.1", "ngx-facebook": "^2.4.0", "ngx-image-cropper": "^5.0.1", "ngx-无限滚动": "^10.0.1", "ngx-perfect-scrollbar": "^10.1.1", "ngx-quill": "~14.3.0", "ngx-slick-carousel": "^0.5.1", "ngx-toasta": "^2.0.0", "normalize.css": "~8.0.1", "npm": "^8.1.2", “推动器-js”:“^7.0.3”, “羽毛笔”:“^1.3.7”, "重新安装": "^2.0.0", "rxjs": "^7.4.0", “安全管道”:“^1.0.3”, "screenfull": "~5.1.0", “信号”:“^2.4.2”, "simplebar": "~5.3.6", “光滑轮播”:“^1.8.1”, "smoothscroll-polyfill": "^0.4.4", "store-js": "^2.0.4", "tslib": "^2.3.1", "twilio-video": "^2.18.1", "video.js": "^7.15.4", "videojs-overlay": "^2.1.5", "videojs-resume": "^0.3.2", "videojs-youtube": "^2.6.1", "webpack-dev-server": "^4.4.0", “zone.js”:“~0.11.4” }, “开发依赖”:{ "@angular-builders/custom-webpack": "^12.1.3", "@angular-devkit/build-angular": "~12.2.4", "@angular/cli": "~12.2.4", "@angular/compiler-cli": "~12.2.4", "@angular/language-service": "~12.2.4", "@schematics/angular": "~12.2.4", "@types/chart.js": "^2.9.34", "@types/jasmine": "^3.10.1", "@types/jasminewd2": "^2.0.10", "@types/lodash-es": "^4.17.5", "@types/node": "^16.11.6", "浏览器同步": "^2.27.7", "codelyzer": "^6.0.2", “安装同行”:“^1.0.3”, “茉莉花核”:“~3.10.1”, "jasmine-spec-reporter": "~7.0.0", "业力": "~6.3.6", "karma-chrome-launcher": "~3.1.0", “karma-coverage-istanbul-reporter”:“~3.0.3”, “业力茉莉花”:“〜4.0.1”, “karma-jasmine-html-reporter”:“^1.7.0”, "少": "^4.1.2", "less-plugin-clean-css": "^1.5.1", "量角器": "~7.0.0", "ts-node": "~10.4.0", "tslint": "~6.1.0", “打字稿”:“^4.3.5” } }
我已经尝试重新安装所有 node_modules 等。关于如何解决这个问题的任何想法?
谢谢你的帮助!
解决方案
通过基本上从准系统 package.json 开始并开始一一添加所有依赖项,我能够克服这个错误。奇怪的是,我都添加了它们,但我从来没有找到有问题的组件。
我的猜测是对等依赖一定存在问题。通过一步一步的进行,它似乎绕过了这个问题。经历有点痛苦,但它成功了。
推荐阅读
- flutter - `onGenerateRoute`和`routes`之间的深度区别?
- r - 来自向量列表的数据框
- vb.net - Visual Basic:带前导零的简单计数器
- mysql - Laravel Lumen 查询返回错误的时间戳时间
- javascript - 在 html 画布图表上绘制负面和正面区域
- c# - 将频道添加到 Microsoft Team 时出现问题(C# 代码,将频道类型转换为接口)
- yaml - Azure 管道 ARM 部署任务 YAML 多行
- javascript - 屏蔽特定列对象nodejs
- php - 如何在 laravel 控制器类中创建全局数组?
- javascript - NodeJs - TypeError:无法读取 null 的属性“url”,但应用程序运行正常