Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用transform async to generator插件时,未定义Babel-regeneratorRuntime_Javascript_Webpack_Async Await_Babeljs - Fatal编程技术网

Javascript 使用transform async to generator插件时,未定义Babel-regeneratorRuntime

Javascript 使用transform async to generator插件时,未定义Babel-regeneratorRuntime,javascript,webpack,async-await,babeljs,Javascript,Webpack,Async Await,Babeljs,我无法正确设置babel以使用async/Wait 我正在使用巴别塔7和网页4 如果可能的话,我不想使用babel polyfill 我的LRC文件: { "presets": [[ "@babel/env", {"modules": false} ]], "plugins": [ "syntax-dynamic-import", "transform-async-to-generator" ] } 代码:

我无法正确设置babel以使用async/Wait

我正在使用巴别塔7和网页4

如果可能的话,我不想使用babel polyfill

我的LRC文件:

{
    "presets": [[
        "@babel/env",
        {"modules": false}
    ]],
    "plugins": [
      "syntax-dynamic-import",
      "transform-async-to-generator"
    ]
}
代码:

和错误:

refactor.main.js:18 Uncaught ReferenceError: regeneratorRuntime is not defined
    at eval (refactor.main.js:18)
    at eval (refactor.main.js:47)
    at Object../client/refactor.main.js (cmp.bundle.js:312)
    at __webpack_require__ (cmp.bundle.js:62)
    at eval (main.js:6)
    at Object../client/main.js (cmp.bundle.js:300)
    at __webpack_require__ (cmp.bundle.js:62)
    at cmp.bundle.js:179
    at cmp.bundle.js:182

您还需要
transformruntime
插件,因此.babelrc应该准备好:

{
    "presets": [[
        "@babel/env",
        {"modules": false}
    ]],
    "plugins": [
      "syntax-dynamic-import",
      "transform-runtime",
      "transform-async-to-generator"
    ]
}

注意,您还需要
npm安装--save dev transform runtime

这里的最新文档非常清楚:

对我有效的是安装两个用于构建和运行时的软件包(浏览器的最终脚本):

npm安装--save dev@babel/plugin transform runtime

npm安装--save@babel/runtime

在我的网页配置的插件数组中,我刚刚添加了“@babel/plugin transform runtime”,没有任何选项。(还请查看上面链接的文档,因为某些选项(您可能会在旧教程或答案中找到)已被删除。)


我现在可以使用异步函数而没有错误,并且在生产构建中没有添加太多代码。

我需要执行
npm安装-D babel plugin transform runtime
,其中的区别是添加了前缀
babel plugin-
。如果没有它,我会得到一个错误,上面写着ReferenceError:Unknown plugin“transform runtime”,当添加
“transform runtime”
-plugin时。当我使用它时,我会得到一个错误,上面写着
require未定义
@makkabi。你能解释一下为什么要安装
@babel/plugin[…]
在dev和
@babel/runtime
中不存在吗?@Daniel我遵循了上面链接的文档,这里有更多的解释。据我所知,plugin transform runtime用于在构建时传输代码,因此它只是开发依赖项,不需要运行传输的代码。我在一个使用typescript、
esm
modules和jest的项目中遇到了同样的问题。我把这个“插件”数组放在
babel.config.json
中,它就工作了。
{
    "presets": [[
        "@babel/env",
        {"modules": false}
    ]],
    "plugins": [
      "syntax-dynamic-import",
      "transform-runtime",
      "transform-async-to-generator"
    ]
}
plugins: [
'@babel/plugin-transform-runtime'
]