有没有办法只使用TypeScript编译器删除类型注释,但不能转换异步函数?像{ target: 'esInfinite' }
选项之类的东西?原因是:有些浏览器已经支持异步功能,所以我希望有一个构建目标,这些功能不受影响。
示例输入:
async function foo(a : number) : Promise<void> {}
示例输出:
async function foo(a) {}
答案 0 :(得分:5)
在tsconfig.json
中,将目标更改为ES2017
,然后保留async/await
。
{
"compilerOptions": {
.....
"target": "ES2017",
.....
}
}
确保您的运行时原生支持它!
PS:从Apr 2018
开始, AWS Lambda 现在支持Nodejs 8.您应该可以使用上面的配置。
答案 1 :(得分:0)
此功能已被请求here。定位es2016和es2017应该在Community里程碑和TypeScript 2.1中提供。