【问题标题】:Babel loader error: rest/spread operator not understoodBabel loader 错误:rest/spread 运算符不理解
【发布时间】:2017-03-26 15:50:34
【问题描述】:

当我尝试运行我的 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"]
}

仍然收到同样的错误。

任何帮助表示赞赏!

【问题讨论】:

  • 那之后你重启了webpack吗?
  • 收到此错误,现在尝试 2 小时找出问题所在,没有任何帮助... :(

标签: javascript reactjs webpack babeljs spread-syntax


【解决方案1】:

我有一个 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()
        }
    ]
}

【讨论】:

  • 哇!我注意到它适用于自己的代码,但如果在 node_modules 中应用对象扩展,则它不起作用!
  • 我终于弄清楚了问题所在:加载器中的 exclude 选项阻止了 babel 在 node_modules 中编译代码!就这么简单,花了半天时间试图解决这个问题。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2020-02-11
    • 2017-10-05
    • 2017-08-28
    • 1970-01-01
    • 1970-01-01
    • 2017-08-04
    • 2016-04-04
    • 2017-12-26
    • 1970-01-01
    相关资源
    最近更新 更多