Reactjs 无法解释的语法错误

Reactjs 无法解释的语法错误,reactjs,webpack,ecmascript-6,babeljs,Reactjs,Webpack,Ecmascript 6,Babeljs,我遇到了一个我无法解释的语法错误 代码: 我以前使用过这段代码,但我想用webpack进行实验,由于这些更改,我收到了这个错误。据我所知,这是es2015中引入的一种新语法。我相信我已正确配置了一切: "devDependencies": { "axios": "^0.17.1", "babel-cli": "^6.26.0", "babel-core": "^6.26.0", "babel-loader": "^7.1.2", "babel-pres

我遇到了一个我无法解释的语法错误

代码:

我以前使用过这段代码,但我想用webpack进行实验,由于这些更改,我收到了这个错误。据我所知,这是es2015中引入的一种新语法。我相信我已正确配置了一切:

  "devDependencies": {
    "axios": "^0.17.1",
    "babel-cli": "^6.26.0",
    "babel-core": "^6.26.0",
    "babel-loader": "^7.1.2",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "bootstrap": "^4.0.0-beta.2",
    "font-awesome": "^4.7.0",
    "react": "^16.2.0",
    "react-dom": "^16.2.0",
    "react-fontawesome": "^1.6.1",
    "react-scripts": "1.0.17",
    "reactstrap": "^5.0.0-alpha.4",
    "webpack": "~3.9.1",
    "webpack-dev-server": "^2.9.5"
  }

module.exports = {
    entry: "./index.js",
    output:{
        filename:"public/bundle.js"
    },
    module:{
        loaders:[
            {
                test: /\.jsx?$/,
                exclude: /(node_modules|bower_components)/,
                loader: 'babel-loader',
                query:{
                    presets:['react', 'es2015']
                }
            }
        ]
    }
}
我的第一个想法是,可能我的es2015配置不正确。但我尝试使用普通函数语法,但仍然收到以下错误:

  2 |
  3 | class Button extends Component{
> 4 |   handleClick = function(){
    |               ^
  5 |     this.props.onClickFunction(this.props.incrementValue)
  6 |   }
  7 |

您需要添加
并将其添加到babel的配置中:

{
  "plugins": [
    "transform-class-properties"
  ]
}
您需要像这样作为开发人员依赖项安装:

npm安装--保存dev babel-preset-stage-0

最好如中所述,您需要将其添加到
.babelrc
文件中,(您可以在根目录中
webpack.config.js
所在的位置创建一个
.babelrc
文件),并这样添加:

    {"presets":["react", "es2015", "stage-0"]}
或者,如果您在使用时更喜欢使用内部
webpack.config.js
,则可以在查询对象中执行以下操作:

  query: {presets:["react", "es2015", "stage-0"]}

谢谢你的回复。我做了您建议的更改,但现在得到了“缺少类属性转换”同一行出现错误。您是否使用webapck并在您的网页包加载器中对babel进行了其他配置?我唯一拥有的配置是我在问题中发布的配置。如果您使用的是
.babelrc
文件,则您的网页包加载器中不需要
查询
部分。如果您没有
.babelrc
文件,请将
'stage-0'
预设添加到您的babel查询属性(在网页包中)的数组末尾,我想这可能已经完成了!在编译之前,我需要解决一些其他问题。我会尽快让你知道的。没关系,任何问题都让我知道:)就是这样!谢谢很高兴帮助您:)
    {"presets":["react", "es2015", "stage-0"]}
  query: {presets:["react", "es2015", "stage-0"]}