0

这是我的.babelrc

{
  "presets": [
    "@babel/preset-env",
    "@babel/preset-react"
  ]
}

这是错误的来源。\client\src\components\AddBook.js:

const { handleSubmit, pristine, reset, submitting } = 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 语法。是什么让代码中断?完整的仓库在https://github.com/ElAnonimo/booklist

4

1 回答 1

1

.babelrc没有明确定义应该为哪些浏览器/版本转换代码。

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

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

https://babeljs.io/docs/en/babel-preset-env#targets

此外,在使用 webpack 时,您需要babel-loader明确告知尊重.babelrc以及它的位置。

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

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

于 2018-12-19T13:39:20.553 回答