typescript 如何将AWS CDK合成器输出到终端/Web浏览器[如果可能]

pjngdqdw  于 2022-11-18  发布在  TypeScript
关注(0)|答案(3)|浏览(118)

仅供参考,只想让你们知道,我正在编写这个AWS CDK应用程序:

  • 类型脚本
  • 我用一台Macbook来编写这个应用程序,运行的是macOS莫哈韦10.14.6。
  • 我节点版本是10.16.3
  • NPM版本为6.9.0
  • 我的AWS CDK版本是1.10.0(build 19 ae 072)。

问题定义

大家好,我是非常非常新的AWS CDK,目前我还在玩它。到目前为止,我觉得它肯定提供了这么多的灵活性相比,键入cloudformation模板。
但是,有一件事我不明白,那就是如何输出变量的值,就像Java**中的System.println()或JavaScript中的console.log**一样

我所尝试的#

现在,我对TypeScript还很陌生,但到目前为止,我已经尝试在一个TypeScript文件中使用console.log()命令,但它不允许我使用它:
每次我试着这样做:
console.log(name); //name is a string
我在Visual Studio中得到以下代码:

老实说,我对TypeScript还很陌生,这对我学习AWS CDK有困难也没有帮助(但到目前为止,我还是很喜欢它)
我已经在cdk应用程序项目文件夹./node_modules中安装了console节点模块:

~任何帮助都将不胜感激~
提前感谢!:)

wmvff8tz

wmvff8tz1#

我找到了一个办法,现在一切都好了。
基本上,你可以使用console.log(name),以便打印输出到终端时,做cdk synth,但有2件事,我需要做之前,我可以使用它。
1.)我需要将import console = require('console');放在TypeScript文件的顶部
2.)我需要运行npm install @types/console来修复一些关于控制台为any类型的错误
不管怎么说,现在都修好了:)

9gm1akwq

9gm1akwq2#

嗨,我也遇到了同样的问题。我运行“npm install @types/node --save-dev”。这解决了我的问题,我可以在cdk.synth期间看到console.log()

juud5qan

juud5qan3#

您可以使用内置工具输出到控制台,如下所示:

import * as cdk from 'aws-cdk-lib';
import * as s3 from 'aws-cdk-lib/aws-s3';

// ....class and constructor....

// define the bucket
const s3Bucket = new s3.Bucket(this, 'avatars-bucket', {
  removalPolicy: cdk.RemovalPolicy.DESTROY,
});

// create an Output
new cdk.CfnOutput(this, 'bucketName', {
  value: s3Bucket.bucketName,
  description: 'The name of the s3 bucket',
  exportName: 'avatarsBucket',
});

相关问题