编译打字稿而不转换异步函数

时间:2016-10-07 14:04:06

标签: javascript typescript async-await ecmascript-2017

有没有办法只使用TypeScript编译器删除类型注释,但不能转换异步函数?像{ target: 'esInfinite' }选项之类的东西?原因是:有些浏览器已经支持异步功能,所以我希望有一个构建目标,这些功能不受影响。

示例输入:

async function foo(a : number) : Promise<void> {}

示例输出:

async function foo(a) {}

2 个答案:

答案 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中提供。