Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Amazon CDK:构造类型不正确,即使它是从CDK.Construct扩展而来的?_Node.js_Typescript_Amazon Cloudformation_Aws Cdk - Fatal编程技术网

Node.js Amazon CDK:构造类型不正确,即使它是从CDK.Construct扩展而来的?

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在小版本升级中没有向后兼容性 这意味

我正在尝试使用自定义域部署API网关。没有函数,只有一个公共API网关,其他堆栈可以导入和使用

bin/api-app.ts:

这是我的构想: lib/api应用程序堆栈:

错误位于apigw.RestApithis:

我是TypeScript新手,我知道可能存在属性不匹配的情况,但我从上的StaticSite示例代码派生了此代码。我甚至看到ApiAppStack是从Construct派生的。我错过什么了吗

编辑1: 这是我的package.json:


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"