create-react-app默认不支持装饰器的,需要做以下配置。

打开 package.json ,可以看到eject。运行 npm run eject 可以让由create-react-app创建的项目的配置项暴露出来(运行之前要保证本地没有待提交git的代码)

"scripts": {

"eject": "react-scripts eject"

},
完成之后本地会多一个config的文件夹

clipboard.png

安装babel插件

babel >= 7.x

npm install --save-dev @babel/plugin-proposal-decorators

babel@6.x

npm install --save-dev babel-plugin-transform-decorators-legacy

修改package.json文件的babel配置项
Babel >= 7.x

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

Babel@6.x

"babel": {
    "plugins": [
      "transform-decorators-legacy"
    ],
    "presets": [
      "react-app"
    ]
}

东西配置完就可以在项目中使用装饰器了


胡少龙
50 声望7 粉丝