如何解决生成客户端代码后,TypeScript 版本与 Angular 11 不兼容
我无法编译生成的客户端,因为 TypeScript 版本与 Angular 11 不兼容:
ERROR: The Angular Compiler requires TypeScript >=4.0.0 and <4.1.0 but 3.5.3 was found instead.
如何在生成代码时设置正确的 TypeScript 版本?这就是我定义 gradle 任务的方式:
openApiGenerate {
generatorName = 'typescript-angular'
inputSpec = swaggerFilePath
outputDir = apiClientOutputDir
configOptions = [
npmName : 'rest-client',npmVersion: '0.0.0',ngVersion: '11.0.6'
]
}
这是写入 package.json
模块的 rest-client
文件的内容。
"devDependencies": {
"@angular/common": "^11.0.6","@angular/compiler": "^11.0.6","@angular/compiler-cli": "^11.0.6","@angular/core": "^11.0.6","@angular/platform-browser": "^11.0.6","ng-packagr": "^5.4.0","reflect-metadata": "^0.1.3","rxjs": "^6.5.0","tsickle": "^0.35.0","typescript": ">=3.4.0 <3.6.0","zone.js": "^0.9.1"
}
我的依赖:
// Spring Docs
implementation 'org.springdoc:springdoc-openapi-ui:1.5.2'
implementation 'org.springdoc:springdoc-openapi-data-rest:1.5.2'
解决方法
问题是我使用的是过时版本的 OpenAPI Generator,它不了解 Angular 11。
变化
id 'org.openapi.generator' version '4.2.2'
到
id 'org.openapi.generator' version '5.0.0'
解决了问题。
我此时也将我的 Spring Doc 依赖项升级到最新版本:
// Spring Docs
implementation 'org.springdoc:springdoc-openapi-ui:1.5.2'
implementation 'org.springdoc:springdoc-openapi-data-rest:1.5.2'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。