react 项目支持 装饰器写法 Support for the experimental syntax 'decorators-legacy' isn't currently enabled

Support for the experimental syntax ‘decorators-legacy’ isn’t currently enabled
有道云翻译过来意思为:目前还不支持实验性语法“decorator -legacy”

其实大概意思就是装饰器语法不支持呗!

报错如下图:

react 项目支持 装饰器写法 Support for the experimental syntax 'decorators-legacy' isn't currently enabled_第1张图片
遇到问题,肯定第一时间百度,看大家有没有遇到类似情况,如何解决的,

参考答案几乎都是:

npm install @babel/plugin-proposal-decorators

安装后再package.json里面加一句话(babel里面plugins那句):

  "babel": {
    "plugins": [
      [
        "@babel/plugin-proposal-decorators",
        {
          "legacy": true
        }
      ]
    ],
    "presets": [
      "react-app"
    ]
  },

我是也是直接把上面的复制到package.json 文件中,如下图:
react 项目支持 装饰器写法 Support for the experimental syntax 'decorators-legacy' isn't currently enabled_第2张图片

最终结局方案如下:

先把当前更改过的代码提到git上(git add . ---- git commit -m “暂存一下”)

然后再 npm run eject

还是在package.json里面加一句话(babel里面plugins那句):

  "babel": {
    "plugins": [
      [
        "@babel/plugin-proposal-decorators",
        {
          "legacy": true
        }
      ]
    ],
    "presets": [
      "react-app"
    ]
  },

这样肯定就没有问题了!
到底执行npm run eject,会发生什么呢???

他会将原本creat react app对webpack,babel等相关配置的封装弹射出来,如果我们要将creat react app配置文件进行修改,现有目录下是没有地方修改的,此时,我们就可以通过eject命令将原本被封装到脚手架当中的命令弹射出来,然后就可以在项目的目录下看到很多配置文件。

你可能感兴趣的:(react,mobx)