自从我从头开始一个nodejs项目以来,已经有一段时间了,设置和配置eslint、babel等也是一个令人费解的问题。
现在我的宝贝是:
{
"presets": [
[
"env",
{
"targets": {
"node": "10"
}
}
]
],
"plugins": [
[
"transform-runtime",
{
"regenerator": true
}
]
]
}
package.json
具有开发依赖关系:
"babel-cli": "^6.26.0",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-env": "^1.7.0",
现在,我想遍历一个对象列表。对于每一项任务,我都需要执行一些需要await
处理的异步任务,所以我做到了:
for await (const thing of things) {
const foo = await doSomethingThatTakesAwhile(thing)
// etc
}
但是,当我在dev (通过babel节点运行nodemon)中运行它时,等待程序中出现了语法错误:
for await (const thing of things) {
^
Syntax Error Unexpected token, expected (
at Parser.pp$5.raise (... \node_modules\babylon\lib\index.js:4454:13)
at Parser.pp.unexpected (... \node_modules\babylon\lib\index.js:1761:8)
at Parser.pp.expect (... \node_modules\babylon\lib\index.js:1749:33)
at Parser.pp$1.parseForStatement (... \node_modules\babylon\lib\index.js:2008:8)
etc..
我是否必须更改babel配置和/或完全误解/等待和等待/异步?
发布于 2019-10-18 12:28:54
我发现了另一个我知道for await of
有效的项目..。看起来我使用的是旧的babel插件,而不是新的分离出来的@babel/xxx
库。试错后,安装和卸载材料:这是产生的babelrc的工作:
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "10"
}
}
]
],
"plugins": [
[
"@babel/plugin-transform-runtime",
{
"regenerator": true
},
"@babel/preset-env"
]
]
}
到目前为止,我已经安装了以下所有内容:
然后我遇到了这个问题:https://github.com/meteor/meteor/issues/10128所以也不得不安装@babel/运行时,这个链接是7.0.0-beta.55 .现在它开始建造了!
发布于 2019-10-18 11:23:46
我相信你需要babel-plugin-proposal-async-generator-functions插件来使用语法的等待。
https://stackoverflow.com/questions/58456982
复制相似问题