为了使HOC暴露出来时好管理并提高可读性,可以使用react-app-rewired
+customize-cra
进行配置
- 1.安装
react-app-rewired
npm install react-app-rewired --save-dev
ract-app-rewired用于允许实现react的可配置,而不使用eject
- 2.在
package.json
里面把scripts
里的react-scripts
替换成react-app-rewired
,eject
不改,如下所示
"scripts": {
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test",
"eject": "react-scripts eject"
},
- 3.在根目录下创建
config-overrides.js
module.exports = (config) => {
// 在这里可以写其他配置
return config
}
- 4.为了配置方便,安装
customize-cra
和@babel/plugin-proposal-decorators
配合使用
npm install customize-cra --save-dev
npm install --save-dev @babel/plugin-proposal-decorators
customize-cra用于完成自动化配置等工作
- 5.注释第3步的代码,在
config-overrides.js
中添加下面代码
const {override, addDecoratorsLegacy} = require('customize-cra')
module.exports = override(
addDecoratorsLegacy()
)