在creat-react-app搭建的項目環境中按需引入antd以及配置less,首先須要暴露出來webpack文件。(此操做不可逆)。javascript
create-react-app myapp 建立同一個react項目 yarn add antd less less-loader babel-plugin-import 須要配置的 less 和 babel依賴
暴露wenpack文件的指令是yarn eject. 在使用這個指令以前要先推送一次git文件才行。或者刪除git文件。css
提交git :java
git add . git commit -m 'xxxx' git push
而後再yarn eject
運行以後會詢問是否暴露,輸入y便可。react
此時在項目目錄下會多出一個config文件夾。,webpack
當你運行項目的時候你會發現報錯 : 缺乏@babel/plugin-syntax-jsx文件
git
//執行命令
yarn add @babel/plugin-syntax-jsx
而後在config文件夾裏面找webpack.config.js文件在大概345行處添加代碼web
['import',{libraryName:'antd', style:true}],
在大概455行處添加代碼babel
{ test: /\.less$/,
use: [{ loader: "style-loader"
}, { loader: "css-loader"
}, { loader: "less-loader",
options: { sourceMap: true, modifyVars: { '@primary-color': '#f9c700', //修改antd主題色 }, javascriptEnabled: true, } }] },
而後重啓項目,就能夠按需引入antd、引入less文件了。而且主題色也變爲了修改的#f9c700色。antd
引入一個Button按鈕來舉個例子:app
App.js文件:
import React from 'react'; import { Button } from 'antd' import './app.less'
function App() { return ( <div>
<Button className="button" type="primary">按需引入antd和配置less</Button>
</div>
); } export default App;
app.less文件:
1 .button{ 2 margin: 100px; 3 }
效果圖: