[英]Using async/await in Node 6 with Babel
我正在嘗試為Node v6.9.2配置Babel。 我想使用async
/ await
結構。
因為我是Babel和所有Node基礎架構的新手,所以我很困惑如何正確配置它:
我應該使用什么預設? Node已經實現了大部分ES6功能。 因此,出於性能原因,我不希望Babel轉換Node 6.9.x已經支持的功能(箭頭功能,新導入機制等)。
我應該包含哪些插件,以便我可以使用async / await? 在那里我也很困惑,因為經過一些研究后我發現了幾個插件: syntax-async-functions
, transform-async-to-generator
等等。
.babelrc
會有所幫助。
謝謝
我應該使用什么預設?
您不需要使用任何預設。 預設只是插件的集合,如果您想要轉換一組功能(例如所有帶有preset-es2015
),它可以更容易使用。 但是,當您只想轉換這些功能時,您只需要包含相應的插件。
我應該包含哪些插件,以便我可以使用async / await?
因為節點6支持生成器,所以您可以將transform-async-to-generator
與以下.babelrc
:
{
"plugins": ["transform-async-to-generator"]
}
當然,如果您需要轉換更多不受支持的功能,則需要添加插件。
babel-preset-env
babel-preset-env自動確定指定環境所需的插件。 這不包括任何不必要的插件。 要指定當前的節點版本,您將使用此.babelrc
:
{
"presets": [
["env", {
"targets": {
"node": "current"
}
}]
]
}
對節點6.x使用Babel預設:
要查看給定節點版本支持的ES功能,請參閱:
有關async
/ await
支持,請參閱:
如果您使用Node v7.x(當前版本),那么您可以使用--harmony
標志並使用async
/ await
本機而不進行轉換。
Node v8.x(可用作夜間版本)甚至不需要--harmony
標志。
但請注意Node不支持import
/ export
- 要知道為什么看到:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.