react3.x配置样式按需引入和自定义主题
安装依赖包
yarn add react-app-rewired customize-cra babel-plugin-import less less-loader@7.1.0
修改package.json
"scripts": { "start": "react-app-rewired start", "build": "react-app-rewired build", "test": "react-app-rewired test", "eject": "react-scripts eject" },
添加配置文件
在根目录下创建config-overrides.js文件
config-overrides.js文件内容
const {override, fixBabelImports, addLessLoader} = require('customize-cra');
module.exports = override(
fixBabelImports('import', {
libraryName: 'antd',
libraryDirectory: 'es',
style: true,
}),
addLessLoader({
lessOptions: {
javascriptEnabled: true,
modifyVars: {'@primary-color': '#1DA57A'},
}
}),
);
启动项目
App.js
import React, {Component} from 'react';
// 引入antd
import { Button, Icon } from 'antd';
import './App.css';
class App extends Component {
render() {
return (
<div>
App.....
App.....
App.....
<Icon type="smile" theme="twoTone" />
<Button type="primary">Primary Button</Button>
</div>
);
}
}
export default App;
index.js
import React from 'react'; import ReactDOM from 'react-dom'; import App from './App'; ReactDOM.render(<App/>, document.getElementById('root'));
效果

看到绿色按钮就代表成功了!
注意内容
启动项目,如果遇到报错,可能是less-loader这个包的版本太高了,语法有问题。所以卸载之后,安装作者测试的版本即可正常启动