二、create-react-app自定義配置
這裡主要講解新增less 和 實現Antd按需載入
首選需要執行npm run eject 暴露所有內建的配置 ,這是後面所有配置的基礎,這個必須優先執行!
一、實現Antd按需載入
按需載入外掛。只需要引入模組即可,無需單獨引入樣式。
import {Button} from 'antd'; ReactDom.render( <div> <Button> XXXX </Button> </div>);
1. 使用babel-plugin-import實現Antd按需載入,修改package.json,或者在專案根目錄新建檔案.babelrc寫配置,注意是二選一。
首先執行以下命令安裝 babel-plugin-import
npm install babel-plugin-import --save-dev
1)、修改package.json
"babel": { "presets": [ "react-app" ], "plugins": [ [ "import", { "libraryName": "antd", "style": true } ] ] }
2)、修改.babelrc
{ "presets": [ "react-app" ], "plugins": [ [ "import", { "libraryName": "antd", "style": true } ] ] }
注意: 不要認為package.json裡已有presets配置這裡就不用寫,這裡的.babelrc會覆蓋package.json裡帶有的babel配置,如果刪除presets配置,會報錯。
二、引入Less
1)安裝less-loader 和 less
npm install less-loader less --save-dev
2)修改config資料夾下的webpack.config.dev.js和webpack.config.prod.js檔案(都需要修改)
查詢 :exclude
原本的 exclude: [/\.js$/, /\.html$/, /\.json$/],
修改為 exclude: [/\.html$/, /\.(js|jsx)$/, /\.(css|less)$/, /\.json$/, /\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/],
查詢:test: /.css$/
原本的 test: /\.css$/,
修改為 test: /\.(css|less)$/,
在這個test的下面找到use,新增loader
use: [ {...}, {...}, { loader: require.resolve('less-loader') // compiles Less to CSS } ]
參考地址:
https://blog.csdn.net/zhaoyu_m69/article/details/78800887
https://segmentfault.com/a/1190000012881473
https://blog.csdn.net/qq_35809834/article/details/72670220