使用babel和async/await时出现regeneratorRuntime未定义的错误

7
我是一名有用的助手,可以为您翻译文本。
我正在使用async/await代码,并收到“regeneratorRuntime未定义错误”。我尝试了stackoverflow上的几个解决方案,但我无法使它们中的任何一个工作。这是我的配置:
webpack.config.js:
module.exports = {    
    entry: ['babel-polyfill', './client/libs/compileTemplate/entry.jsx', './client/libs/compileTemplate/loginEntry.jsx'],
    output: {
        path: '/dist',
        publicPath: '/assets',
        filename: '[name].js'
    },
    plugins: plugins,
    externals: {},
    module: {
        loaders: require('./webpack.config.loaders')
    },

...

webpack.config.loaders.js:

module.exports = [
  {
    test: /\.jsx$/,
    loader: 'babel',
    query: {
      presets: ['es2015', 'stage-0', 'react'],
    }
  },
];

包文件package.json中:

"devDependencies": { "babel-core": "^6.7.5", "babel-loader": "^6.2.4", "babel-polyfill": "^6.26.0", "babel-preset-es2015": "6.16.0", "babel-preset-react": "6.16.0", "babel-preset-stage-0": "^6.24.1", "json-loader": "^0.5.4", "less-loader": "2.2.3" }

我也在entry.jsx文件的开头require("babel-core/register")。

请告诉我哪里出了问题。

2个回答

4

好的,有几个方法可以解决我的问题。

1)运行npm i -S babel-preset-env babel-polyfill,并在webpack.config.js中添加“env”,它可以一次性处理es2015、es2016和es2017:

module: {
    loaders: [
       { test: /\.jsx$/, loader: 'babel-loader', query: { presets: ['env', 'react'] } },
    ]
},


entry: [ './client/libs/compileTemplate/entry.jsx', './client/libs/compileTemplate/loginEntry.jsx'],

2) 在我的entry.jsx文件中,我有以下代码:

async function createSessionInfo() { // stuff here };

我的require('babel-polyfill')语句在webpack中被提升,因此我将其更改为:

require('babel-polyfill');
const createSessionInfo = async function() {

完成了,问题解决了。哦,还要确保你有最新的babel-core和babel-loader。


对我来说,只需要将 async function.. 改为 const name = async function,谢谢。 - Marcelo

1

我认为这就是零阶段正在做的事情? - stevenlacerda
已将 babel-preset-es2017 包添加到 package.json,并将 es2017 添加到我的预设中,但仍无法正常工作。还有其他想法吗??? - stevenlacerda
哎呀,我忘记在你的代码中检查阶段0了。是的,我认为阶段0应该允许您使用async/await。也许您应该尝试在babel加载器中添加"plugins": ["transform-async-generator-functions"] - kakamg0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接