我试图为我的AWS Lambda使用Typescript,我在使用promise时遇到了以下错误。
error TS2693: 'Promise' only refers to a type, but is being used as a value here.
我尝试在代码中使用以下变体
responsePromise = new Promise((resolve, reject) => {
return reject(new Error(`missing is needed data`))
})
responsePromise = Promise.reject(new Error(`Unsupported method "${request.httpMethod}"`));
"typescript": "^2.2.2"
"@types/aws-lambda": "0.0.9",
"@types/core-js": "^0.9.40",
"@types/node": "^7.0.12",
{
"compileOnSave": true,
"compilerOptions": {
"module": "commonjs",
// "typeRoots" : ["./typings", "./node_modules/@types"],
"target": "es5",
// "types" : [ "core-js" ],
"noImplicitAny": true,
"strictNullChecks": true,
"allowJs": true,
"noEmit": true,
"alwaysStrict": true,
"preserveConstEnums": true,
"sourceMap": true,
"outDir": "dist",
"moduleResolution": "Node",
"declaration": true,
"lib": [
"es6"
]
},
"include": [
"index.ts",
"lib/**/*.ts"
],
"exclude": [
"node_modules",
"**/*.spec.ts"
]
}
ts: {
app: {
tsconfig: {
tsconfig: "./tsconfig.json",
ignoreSettings: true
}
},
...
我尝试了I Get中提到的解决方案:[ts]'Promise'只引用类型,但在这里被用作值,但没有运气。
我在AWS-SDK
中遇到了同样的问题,并通过使用“target”:“ES2015”
解决了这个问题。这是我的tsconfig.json
文件。
{
"compilerOptions": {
"outDir": "./dist/",
"sourceMap": false,
"noImplicitAny": false,
"module": "commonjs",
"target": "es2015"
},
"include": [
"src/**/*"
],
"exclude": [
"node_modules",
"**/*.spec.ts"
]
}
给出了以下错误: 仅引用类型,但在此处用作值。 这是可以理解的,因为它是对象的属性。 如何使用指定类型,如one?
我使用的是Typescript 3.2。2、无法实现最基本的类型防护: 这将产生源自。是否需要配置来启用此语法?
我使用TypeScript,并有一个情况下,一个函数返回两个类型的联合。它可以返回字符串或模型,但我不知道如何获取类型并根据返回的类型执行操作。 我该怎么做这样的事?在本例中,字符串和IMyModel如何用作值(如错误消息所示)?这个错误使我感到困惑。 我在使用的行中得到以下可视化工作室代码中的静态错误: “string”仅引用类型,但在此处用作值。ts(2693) “IMyModel”仅引用类型
我试图用一种方法扩展Puppeter的类ElementHandle。我已经检查了一些例子,并编写了简单的代码,就像这个答案一样。 但是VSCode显示了我更改ElementHandle prototype所在行的一个错误: “ElementHandle”仅引用类型,但在此处用作值。ts(2693) 我怎么才能修好它? 我的代码: ElementHandle类:https://github.com/
我在一个。tsx文件中用Typescript和Material-ui编写一个ReactJS类。在我的一个自定义组件中,我希望创建一个对我在自定义组件中使用的组件之一的引用。 在编译过程中,我在引用的声明上得到一个错误: