react3.x配置样式按需引入和自定义主题
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这个包的版本太高了,语法有问题。所以卸载之后,安装作者测试的版本即可正常启动
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了