Reactjs 无法解释的语法错误
我遇到了一个我无法解释的语法错误 代码: 我以前使用过这段代码,但我想用webpack进行实验,由于这些更改,我收到了这个错误。据我所知,这是es2015中引入的一种新语法。我相信我已正确配置了一切: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
"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"]}