react 配置 less 以及按需加載 和css 作用域

react腳手架如何配置less和ant按需加載的方法步驟

這篇文章主要介紹了react腳手架如何配置less和ant按需加載的方法步驟,小編覺(jué)得挺不錯(cuò)的时甚,現(xiàn)在分享給大家,也給大家做個(gè)參考营袜。一起跟隨小編過(guò)來(lái)看看吧

前言

create-react-app是由React官方提供并推薦使用構(gòu)建新的React單頁(yè)面應(yīng)用程序的最佳方式,其構(gòu)建的項(xiàng)目默認(rèn)是不支持less的,需要我們手動(dòng)集成

一路捧、react腳手架搭建

1关霸、先全局安裝create-react-app(提前需要安裝node)
npm install -g create-react-app

2、然后通過(guò)create-react-app創(chuàng)建項(xiàng)目my-app

create-react-app my-app

3鬓长、最后通過(guò)cd進(jìn)入項(xiàng)目文件夾并啟動(dòng)
cd my-app

yarn start 或者 ``
4谒拴、終端出現(xiàn)如下界面表示啟動(dòng)成功,并在瀏覽器中輸入http://localhost:3000/即可看到react的初始頁(yè)面

[圖片上傳失敗...(image-eec089-1584752838969)]

二涉波、目錄結(jié)構(gòu)

|

1

2

3

4

5

6

7

|

┌─node_modules -依賴包

├─public -全局文件

├─src -項(xiàng)目文件

├─.gitignore -提交被git忽略文件目錄

創(chuàng)建成功.png

├─package.json -項(xiàng)目配置文件

├─README.md -README文件

└─yarn.lock -鎖定項(xiàng)目所需的各種配置版本

|

三英上、安裝less和less-loader(less編譯器)
yarn add less less``-loader

安裝完成之后該怎么配置呢?這時(shí)需要通過(guò)webpack來(lái)配置less-loader啤覆,但是我們?cè)谏厦娴哪夸浗Y(jié)構(gòu)中似乎并沒(méi)有發(fā)現(xiàn)webpack.config.js文件苍日,這是因?yàn)槟_手架為了實(shí)現(xiàn)“零配置”,會(huì)默認(rèn)把一些通用的腳本和配置集成到 react-scripts窗声,目的是讓我們專注于src目錄下的開(kāi)發(fā)工作相恃,不再操心環(huán)境配置。同時(shí)笨觅,被其集成的腳本和配置也會(huì)從程序目錄中消失 拦耐,程序目錄也會(huì)變得干凈許多

接下來(lái),我們就需要通過(guò)yarn eject將webpack配置暴露出來(lái)

四见剩、暴露webpack配置

執(zhí)行yarn eject

提示:執(zhí)行該命令后會(huì)把已構(gòu)建依賴項(xiàng)杀糯、配置文件和腳本復(fù)制到程序目錄中。該操作是不可逆轉(zhuǎn)的苍苞,執(zhí)行完成后會(huì)刪除這個(gè)命令固翰,也就是說(shuō)只能執(zhí)行一次

配置完成之后,我們會(huì)發(fā)現(xiàn)我們的目錄結(jié)構(gòu)中會(huì)多出兩個(gè)文件夾:

image.png

其中config文件夾羹呵,有三個(gè)關(guān)于 webpack 的配置文件:

  • webpack.config.dev.js 開(kāi)發(fā)環(huán)境配置
  • webpack.config.prod.js 生產(chǎn)環(huán)境配置
  • webpackDevServer.config.js 開(kāi)發(fā)服務(wù)器配置
  • 當(dāng) 使用 16.0 的版本之后就config 名字改了
    五骂际、修改webpack配置文件*

第一步:到webpack.config.js文件中找到如下代碼,在sassModuleRegex后面加上lessRegex和lessModuleRegex變量


image.png

第二步:在下面加上這兩段代碼

image.png

六冈欢、集成Ant Design 并配置按需加載

antd:是螞蟻金服推出的一個(gè)很優(yōu)秀的react UI庫(kù)歉铝,其中包含了很多我們經(jīng)常使用的組件,對(duì)于小白學(xué)習(xí)react來(lái)說(shuō)十分友好凑耻!

1犯戏、首先需要安裝antd

yarn add antd

2、安裝完成之后我們就可以直接在代碼里使用它的ui組件了

import {Button} from 'antd'``;

import 'antd/dist/antd.css'``;

這個(gè)方法的優(yōu)點(diǎn)是比較簡(jiǎn)單拳话,不需再次配置先匪,直接加載即可,但是比較麻煩弃衍,每次載入一個(gè)新的組件都需要先載入組件呀非,再加載組件的css文件,性能較差

3、使用 babel-plugin-import 來(lái)進(jìn)行按需加載
yarn add babel-plugin-import --save-dev
4岸裙、安裝完成之后猖败,在package.json中找到babel配置項(xiàng),然后再里面加上plugins

image.png

注意: 這里babel配置項(xiàng)是需要通過(guò)yarn eject暴露出來(lái)才會(huì)有降允,原本的package.json是沒(méi)有這個(gè)配置項(xiàng)的

5恩闻、最后只需從antd引入模塊即可,無(wú)需單獨(dú)引入樣式, babel-plugin-import會(huì)幫助你加載 JS 和 CSS
import {Button} from 'antd'``;
6剧董、關(guān)于antd的按需加載其實(shí)還有其他的方法幢尚,官方推薦使用react-app-rewired來(lái)實(shí)現(xiàn)antd的按需加載
詳見(jiàn): https://ant.design/docs/react/use-with-create-react-app-cn#%E9%AB%98%E7%BA%A7%E9%85%8D%E7%BD%AE

**七 . 樣式作用域

只需要 創(chuàng)建一個(gè) index.module.less 在里面寫樣式 在需要的地方引入


image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市翅楼,隨后出現(xiàn)的幾起案子尉剩,更是在濱河造成了極大的恐慌,老刑警劉巖毅臊,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件理茎,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡管嬉,警方通過(guò)查閱死者的電腦和手機(jī)皂林,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蚯撩,“玉大人础倍,你說(shuō)我怎么就攤上這事∏蟛蓿” “怎么了著隆?”我有些...
    開(kāi)封第一講書人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵扰楼,是天一觀的道長(zhǎng)呀癣。 經(jīng)常有香客問(wèn)我,道長(zhǎng)弦赖,這世上最難降的妖魔是什么项栏? 我笑而不...
    開(kāi)封第一講書人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮蹬竖,結(jié)果婚禮上沼沈,老公的妹妹穿的比我還像新娘。我一直安慰自己币厕,他們只是感情好列另,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著旦装,像睡著了一般页衙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,829評(píng)論 1 290
  • 那天店乐,我揣著相機(jī)與錄音艰躺,去河邊找鬼。 笑死眨八,一個(gè)胖子當(dāng)著我的面吹牛腺兴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播廉侧,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼页响,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了伏穆?” 一聲冷哼從身側(cè)響起拘泞,我...
    開(kāi)封第一講書人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎枕扫,沒(méi)想到半個(gè)月后陪腌,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡烟瞧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年诗鸭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片参滴。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡强岸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出砾赔,到底是詐尸還是另有隱情蝌箍,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布暴心,位于F島的核電站妓盲,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏专普。R本人自食惡果不足惜悯衬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望檀夹。 院中可真熱鬧筋粗,春花似錦、人聲如沸炸渡。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蚌堵。三九已至买决,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背策州。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工瘸味, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人够挂。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓旁仿,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親孽糖。 傳聞我的和親對(duì)象是個(gè)殘疾皇子枯冈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容