Babel loader错误:休息/传播操作员无法理解

时间:2016-11-12 15:41:13

标签: javascript reactjs webpack babeljs spread-syntax

当我尝试运行我的webpack包时,我收到此控制台错误:

BabelLoaderError: SyntaxError: Unexpected token (113:19)

  111 | 
  112 | const render = () => ReactDOM.render(
> 113 |    <TodoApp todos={...store.getState()}/>,
      |                    ^
  114 |    document.getElementById("root")
  115 | )
  116 | 

因此不了解扩展运算符语法。但是,我已在webpack.config.js中安装了我在装载机中包含的babel-stage-2预设,如下所示:

module: {
        loaders: [
            {
               test: path.join(__dirname, 'public'),
               loader: ['babel-loader'],
               query: {
                 presets: debug ? ['react', 'es2015', 'react-hmre', 'stage-2'] : ['react', 'es2015', 'stage-2']
               }
            }
        ]
    }

我还尝试安装babel-plugin-transform-object-rest-spread并添加到.babelrc

{
  "plugins": ["transform-object-rest-spread"]
}

仍然收到同样的错误。

任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:2)

我对Vue项目有类似的问题。

我已添加:

{
  "presets": [
    ["es2015", {"modules": false}],
    ["stage-2"]
  ],
  "plugins": ["transform-object-rest-spread"]
}

.babelrc并尝试了许多事情,但似乎没有任何效果。

如警告部分preset-env plugin中所述,你应该至少有v6.19.0,我的是v6.23.0,它仍然无法正常工作。

编辑:我找到了Answer here

我的解决方案

/*
 * additional javascript loader for es6 code in node_modules that have to be transpiled also
 */
{
    test: /\.jsx?$/,
    include: [
        NODE_MODULES + '/vuetify/src'
    ],
    use: [
        {
            loader: 'babel-loader',
            options: Config.babel()
        }
    ]
}

答案 1 :(得分:0)

致电{...store.getState()}而非todos={...store.getState()}