有没有办法只使用 TypeScript 编译器来删除类型注释,而不是转译异步函数?像一个{ target: 'esInfinite' }
选项?原因是:有些浏览器已经支持异步功能,所以我希望有一个不影响这些功能的构建目标。
示例输入:
async function foo(a : number) : Promise<void> {}
示例输出:
async function foo(a) {}
有没有办法只使用 TypeScript 编译器来删除类型注释,而不是转译异步函数?像一个{ target: 'esInfinite' }
选项?原因是:有些浏览器已经支持异步功能,所以我希望有一个不影响这些功能的构建目标。
示例输入:
async function foo(a : number) : Promise<void> {}
示例输出:
async function foo(a) {}
在您的tsconfig.json
中,将您的目标更改为ES2017
,然后它将保留async/await
.
{
"compilerOptions": {
.....
"target": "ES2017",
.....
}
}
请确保您的运行时本身支持它!!!
PS:截至目前Apr 2018
,AWS Lambda现在支持 Nodejs 8。您应该可以使用上面的配置。
此处已请求此功能。针对 es2016 和 es2017 应该在社区里程碑和TypeScript 2.1中可用。