react(关于装饰器的配置)

在react中,大家有的使用装饰器,比如路由,或者mobx等,但是会发现默认脚手架不支持,接下来就说一下怎么配置,网上大部分都是使用npm eject来弹出脚手架的默认配置,但这样并不优雅,社区提供了其他方案来解决修改配置的方式
  1. 首先安装,以下几个依赖
 	customize-cra
	react-app-rewired
	@babel/plugin-proposal-decorators
yarn add customize-cra react-app-rewired @babel/plugin-proposal-decorators
  1. 然后在package.json中添加配置
"babel": {
    "presets": [
      "react-app"
    ],
    "plugins": [
      [
        "transform-decorators-legacy"
      ]
    ]
  }

再更改package.json中的"scripts"部分

"scripts": {
    "start": "react-app-rewired start",
    "build": "react-app-rewired build",
    "test": "react-app-rewired test",
    "eject": "react-app-rewired eject"
  },

然后重点来了,在项目根目录新建config-overrides.js文件,再添加以下配置

const { override, addDecoratorsLegacy } = require('customize-cra');
module.exports = override(
    addDecoratorsLegacy()
)

这个时候我们便可以开始使用我们的mobx和装饰器了,config-overrides.js文件就是对项目进行自定义配置的文件,可以进行插件配置,具体直接看这个包的官方api

上一篇:JS放大镜特效(兼容版)


下一篇:Python装饰器Decorators