Javascript 在不传输异步函数的情况下编译typescript
是否有一种方法可以使用TypeScript编译器仅删除类型注释,而不传输异步函数?类似于Javascript 在不传输异步函数的情况下编译typescript,javascript,typescript,async-await,ecmascript-2017,Javascript,Typescript,Async Await,Ecmascript 2017,是否有一种方法可以使用TypeScript编译器仅删除类型注释,而不传输异步函数?类似于{target:'esInfinite'}选项?原因是:有些浏览器已经支持异步函数,所以我希望有一个不影响这些函数的构建目标 输入示例: async function foo(a : number) : Promise<void> {} 已请求此功能。针对es2016和es2017的目标应在里程碑和中提供。在您的tsconfig.json中,将您的目标更改为es2017,然后它将保留异步/等待
{target:'esInfinite'}
选项?原因是:有些浏览器已经支持异步函数,所以我希望有一个不影响这些函数的构建目标
输入示例:
async function foo(a : number) : Promise<void> {}
已请求此功能。针对es2016和es2017的目标应在里程碑和中提供。在您的
tsconfig.json
中,将您的目标更改为es2017
,然后它将保留异步/等待
{
"compilerOptions": {
.....
"target": "ES2017",
.....
}
}
请确保您的运行时在本地支持它
注:自2018年4月起,AWS Lambda现在支持Nodejs 8。您应该可以使用上面的配置。有一个方法可以添加对ES2017的支持,但在这之前,据我所知,这还不是最早的方法。我们现在使用TypeScript 4.3,将“target”设置为“ES2017”将保留使用“target”和“es2016”的异步/等待语句,将使用
var\u waiter
输出一个polyfill。
{
"compilerOptions": {
.....
"target": "ES2017",
.....
}
}