React16.8搭建支持Less文件的開發環境

React 版本 16.8.4

寫這篇文章是因爲個人想使用螞蟻金服的AntD UI寫個demo,中間遇到一些坑,網上找到的一些方案有點過時,所以解決問題後決定自己寫點經驗和大家分享。
AntD是用less編寫的,雖然可以直接引入CSS樣式文件,但是爲了方便修改AntD主題,我纔在開發環境中添加了對less文件編譯的支持。

創建項目

當前最新React版本是16.8.4.
使用create-react-app腳手架工具創建一個名爲 ant-react 的項目:
創建項目
項目創建完成後可以看到項目結構很精簡,沒有發現webpack配置文件。之後我們打開package.json文件:
package.json文件
這裏大家注意看一下這裏標註了react-scripts文件是2.x版本,https://reactjs.org/blog/2018/10/01/create-react-app-v2.html 此鏈接講述了react-scripts文件的一些變化,主要添加對sass/scss樣式文件的默認支持…

接下來安裝lessless-loader插件包,打開終端輸入:

cd ant-react
yarn add less less-loader

或者npm install less less-loader

配置less-loader

配置less-loader需要暴露webpack配置文件,這就要使用create-react-app腳手架工具提供的 eject 命令(見上圖),運行命令前需要將項目commit一下,否則項目無法eject成功,打開終端運行 yarn eject命令(或者npm run eject),eject命令是一次性命令,運行後無法恢復

yarn eject

命令運行結束之後會發現package.json 文件中多了很多內容,項目結構中多了一個config文件夾
config文件夾
打開config文件夾,找到webpack.config.js文件打開,主要修改裏面的三處地方:

  1. 修改style files regexes(樣式文件正則),找到 註釋style files regexes,在這部分最後添加如下兩行代碼:
const lessRegex = /\.less$/;
const lessModuleRegex = /\.module\.less$/;

less Regex
2. 修改 getStyleLoaders 函數,添加代碼(如圖)
在這裏插入圖片描述
3. 最後一處修改大約在429行,模仿代碼中提供的sassRegex代碼,添加如下代碼,如下圖
less支持
webpack.config.js文件修改完成。

試一下效果,將index.css文件重命名爲index.less,再把index.js文件中引入的index.css文件修改爲index.less文件,保存代碼,命令行輸入yarn start 命令(或npm start)
運行成功
OK,成功了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章