将现有Angular应用转为single-spa微前端时遇schematics不支持错误
将Angular应用转为single-spa微前端时
ng add报错的解决方法 问题情况
尝试将现有Angular应用转换为single-spa微前端,执行命令ng add single-spa-angular时触发错误:
"Package "single-spa-angular" was found but does not support schematics."
当前应用angular-app的package.json内容如下:
{ "name": "angular-app", "version": "0.0.0", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "watch": "ng build --watch --configuration development", "test": "ng test" }, "private": true, "dependencies": { "@angular/animations": "^14.2.0", "@angular/common": "^14.2.0", "@angular/compiler": "^14.2.0", "@angular/core": "^14.2.0", "@angular/forms": "^14.2.0", "@angular/platform-browser": "^14.2.0", "@angular/platform-browser-dynamic": "^14.2.0", "@angular/router": "^14.2.0", "rxjs": "~7.5.0", "single-spa-angular": "^2.0.0", "tslib": "^2.3.0", "zone.js": "~0.11.4" }, "devDependencies": { "@angular-devkit/build-angular": "^14.2.11", "@angular/cli": "~14.2.11", "@angular/compiler-cli": "^14.2.0", "@types/jasmine": "~4.0.0", "jasmine-core": "~4.3.0", "karma": "~6.4.0", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.0.0", "typescript": "~4.7.2" } }
使用的Node版本:16.19.1
原因分析
当前安装的single-spa-angular@2.0.0属于旧版本,与Angular 14不兼容,且该版本未提供Angular CLI所需的schematics支持,因此触发报错。
解决步骤
- 卸载不兼容版本
执行命令移除已安装的旧版single-spa-angular:
npm uninstall single-spa-angular
- 安装适配版本
针对Angular 14,安装对应的single-spa-angular10.x系列版本,通过ng add命令自动配置schematics:
ng add single-spa-angular@^10.0.0
- 完成配置
按照Angular CLI的交互提示完成剩余配置,即可完成现有应用到single-spa微前端的转换。
版本匹配参考
确保single-spa-angular版本与Angular版本对应:
- Angular 14 → single-spa-angular 10.x
- Angular 15 → single-spa-angular 11.x
- Angular 16 → single-spa-angular 12.x
内容的提问来源于stack exchange,提问作者hs27
相关产品推荐
相关产品推荐

