npm install react-app-rewired customize-cra babel-plugin-import -D
或者
yarn add customize-cra react-app-rewired --dev
项目根目录创建文件config-overrides.js,其内容为
const {...} = require('customize-cra'); module.exports = override( ... );
- React按需加载
config-overrides.js内容
const { override, fixBabelImports } = require("customize-cra"); module.exports = override( fixBabelImports('import', { libraryName: 'antd', libraryDirectory: 'es', style: true,//或者css, true代表运用less }), );
修改package.json
"scripts": { "start": "react-app-rewired start", "build": "react-app-rewired build", "test": "react-app-rewired test", "eject": "react-app-rewired eject" },
- 运用LESS(无需暴露配置文件)
yarn add --dev less less-loader //less-loader用5.0版本,高版本停用了一些配属性
//config-overrides.js内容
const { override,addLessLoader} = require("customize-cra");
module.exports = override(
addLessLoader({
javascriptEnabled: true,
modifyVars: {}
}),
);
- 装饰器
npm install -D @babel/plugin-proposal-decorators //config-overrides.js const { override, addDecoratorsLegacy} = require('customize-cra'); module.exports = override( ... addDecoratorsLegacy() );
.....
更多应用,参考https://github.com/arackaf/customize-cra/blob/master/api.md#adddecoratorslegacy