Ecmascript 6 意外标记{带有网页包4和@babel/preset env

Ecmascript 6 意外标记{带有网页包4和@babel/preset env,ecmascript-6,babeljs,webpack-4,babel-preset-env,Ecmascript 6,Babeljs,Webpack 4,Babel Preset Env,这是我的.babelrc: { "presets": [ "@babel/preset-env", "@babel/preset-react" ] } 下面是错误的来源。\client\src\components\AddBook.js: const{handleSubmit,pristine,reset,submiting}=this.props; 错误消息 11 | } 12 | > 13 | const { handleSubmit,

这是我的
.babelrc

{
  "presets": [
    "@babel/preset-env",
    "@babel/preset-react"
  ]
}
下面是错误的来源。\client\src\components\AddBook.js:

const{handleSubmit,pristine,reset,submiting}=this.props;

错误消息

   11 |   }
   12 |
 > 13 |   const { handleSubmit, pristine, reset, submitting } = this.props;
      |         ^
   14 |
   15 |   const handleSubmit = (allValues) => {
   16 |     console.log('formData:', allValues);
我以为
@babel/preset env
会处理所有最新的JavaScript语法。是什么让代码中断的?
您的
上有完整的repo。babelrc
没有明确定义应该为哪些浏览器/版本传输代码

根据您的需要调整以下示例
.babelrc

{"presets": [
    [ "@babel/preset-env", {
      "targets": {
        "browsers": ["last 1 version", "ie >= 11"]
      },
      "@babel/preset-react"
    ]
]}

此外,在使用webpack时,您需要明确告诉巴贝尔加载器
要尊重
.babelrc
,以及它的位置

loader: 'babel-loader',
options: {
  babelrc: path.join(process.cwd(), './babelrc')
}

,假设
.babelrc
位于项目的根目录中。

谢谢。我已将
.babelrc
调整为
{“预设”:[[“@babel/preset env”,“{”targets:{“浏览器”:[“最后2个版本”,“Firefox>=50”]},@babel/preset react”]}
我在Firefox 50上。现在获得
[1]3 |从“/components/App”;[1]4 |[1]>5 | ReactDOM.render(,document.getElementById('App');[1]| ^
它抱怨
这与网页配置中的
加载器:“巴贝尔加载器”
有关吗?你需要明确告诉
巴贝尔加载器
以尊重
.babelrc
以及它的位置。
加载器:“巴贝尔加载器”,选项:{babelrc:path.join(process.cwd(),'./babelrc')}
,asumming
。babelrc
位于项目的根目录中。