Node.js Amazon CDK:构造类型不正确,即使它是从CDK.Construct扩展而来的?
我正在尝试使用自定义域部署API网关。没有函数,只有一个公共API网关,其他堆栈可以导入和使用 bin/api-app.ts: 这是我的构想: lib/api应用程序堆栈: 错误位于apigw.RestApithis: 我是TypeScript新手,我知道可能存在属性不匹配的情况,但我从上的StaticSite示例代码派生了此代码。我甚至看到ApiAppStack是从Construct派生的。我错过什么了吗 编辑1: 这是我的package.json:Node.js Amazon CDK:构造类型不正确,即使它是从CDK.Construct扩展而来的?,node.js,typescript,amazon-cloudformation,aws-cdk,Node.js,Typescript,Amazon Cloudformation,Aws Cdk,我正在尝试使用自定义域部署API网关。没有函数,只有一个公共API网关,其他堆栈可以导入和使用 bin/api-app.ts: 这是我的构想: lib/api应用程序堆栈: 错误位于apigw.RestApithis: 我是TypeScript新手,我知道可能存在属性不匹配的情况,但我从上的StaticSite示例代码派生了此代码。我甚至看到ApiAppStack是从Construct派生的。我错过什么了吗 编辑1: 这是我的package.json: CDK在小版本升级中没有向后兼容性 这意味
CDK在小版本升级中没有向后兼容性 这意味着您的cdk.Construct来自包
"@aws-cdk/core": "1.38.0"
与apigw.RestApi不兼容,后者使用的版本至少为1.47:
"@aws-cdk/aws-apigateway": "^1.47.1"
要解决此问题,请将package.json中的所有@aws cdk包更改为相同版本,并且不要忘记删除^或至少替换为~
然后只需重新安装您的依赖项:npm install能否发布package.json,以便我们确认没有版本不匹配?lloyd我已经用包文件更新了问题。
Argument of type 'this' is not assignable to parameter of type 'Construct'.
Type 'APIAppStack' is not assignable to type 'Construct'.
Property 'onValidate' is protected but type 'Construct' is not a class derived from 'Construct'.ts(2345)
{
"name": "api-app",
"version": "0.1.0",
"bin": {
"frontend-app": "bin/api-app.js"
},
"scripts": {
"build": "tsc",
"watch": "tsc -w",
"cdk": "cdk"
},
"devDependencies": {
"aws-cdk": "1.38.0",
"@aws-cdk/assert": "1.38.0",
"@types/node": "10.17.5",
"jest": "^25.5.0",
"ts-node": "^8.1.0",
"typescript": "~3.7.2",
"@aws-cdk/aws-certificatemanager": "*",
"@aws-cdk/aws-cloudfront": "*",
"@aws-cdk/aws-iam": "*",
"@aws-cdk/aws-route53": "*",
"@aws-cdk/aws-route53-targets": "*",
"@aws-cdk/aws-s3": "*",
"@aws-cdk/aws-s3-deployment": "*",
"@aws-cdk/core": "*"
},
"dependencies": {
"@aws-cdk/aws-apigateway": "^1.47.1",
"@aws-cdk/aws-sns": "1.38.0",
"@aws-cdk/aws-sns-subscriptions": "1.38.0",
"@aws-cdk/aws-sqs": "1.38.0",
"@aws-cdk/core": "1.38.0"
}
}
"@aws-cdk/core": "1.38.0"
"@aws-cdk/aws-apigateway": "^1.47.1"