React+Ant Design開(kāi)發(fā)環(huán)境搭建的實(shí)現(xiàn)步驟
基礎(chǔ)知識(shí)
1.使用腳手架創(chuàng)建項(xiàng)目并啟動(dòng)
1.1 安裝腳手架:
npm install -g create-react-app
1.2 使用腳手架創(chuàng)建項(xiàng)目:
create-react-app antd-start-demo
antd-start-demo為項(xiàng)目名。
1.3 啟動(dòng)
npm start
2.npm轉(zhuǎn)換為yarn
2.1 安裝yarn:
npm install -g yarn
2.2 獲取yarn當(dāng)前的鏡像源:
yarn config get registry
2.3 設(shè)置為淘寶鏡像:
yarn config set registry 'https://registry.npm.taobao.org'
2.4 常用命令:
yarn init --初始化 yarn add --添加模塊 yarn remove --刪除模塊 yarn /yarn install --安裝項(xiàng)目中的依賴
項(xiàng)目搭建
2.1 安裝react-router 4.0、axios、less-loader
yarn add react-router-dom axios less-loader
2.2 暴漏webpack配置
yarn eject
提示: 如果運(yùn)行yarn eject報(bào)錯(cuò)
在我們修改了文件之后,在使用 yarn eject命令時(shí),會(huì)報(bào)以上錯(cuò)誤,這是因?yàn)槲覀兪褂媚_手架創(chuàng)建項(xiàng)目時(shí),自動(dòng)增加了 .gitignore 文件,而我們本地卻沒(méi)有倉(cāng)庫(kù),這時(shí)候只需執(zhí)行以下命令把項(xiàng)目添加到我們本地倉(cāng)庫(kù),在執(zhí)行即可。
解決辦法:
git add . git commit -m 'init' yarn eject
然后運(yùn)行yarn eject就可以了
webpack配置
2.3 配置less-loader
antd是基于less開(kāi)發(fā)的,我們使用less可以方便的改變主題色等配置。
安裝less模塊:yarn add less@2.7.3
打開(kāi)config/webpack.config.dev.js添加如下配置:
{ test: /\.less$/, use: [ require.resolve('style-loader'), { loader: require.resolve('css-loader'), options: { importLoaders: 1 }, }, { // Options for PostCSS as we reference these options twice // Adds vendor prefixing based on your specified browser support in // package.json loader: require.resolve('postcss-loader'), options: { // Necessary for external CSS imports to work // https://github.com/facebook/create-react-app/issues/2677 ident: 'postcss', plugins: () => [ require('postcss-flexbugs-fixes'), require('postcss-preset-env')({ autoprefixer: { flexbox: 'no-2009', }, stage: 3, }), ], }, }, { loader: require.resolve('less-loader') } ], },
到配置cssload同級(jí)如圖所示
圖片示例
注意:在webpack.config.dev.js添加的配置部分,也需要在webpack.config.prod.js中做相同的配置。否則可能導(dǎo)致項(xiàng)目發(fā)布上線后,報(bào)錯(cuò)無(wú)法執(zhí)行。
2.4 安裝antd
yarn add antd
2.5 測(cè)試使用
import { Button } from "antd"; import 'antd/dist/antd.css'; ... render() { return ( <div> <Button>click</Button> </div> ); } ...
注意:默認(rèn)情況下安裝的antd需要引入antd/dist/antd.css才會(huì)生效樣式,但很多時(shí)候,我們只是使用了部分組件,引入整個(gè)antd樣式文件,有些得不償失。所以按需加載應(yīng)運(yùn)而生。
2.6 antd按需加載
1.添加babel-plugin-import,
yarn add babel-plugin-import
2.打開(kāi)webpack配置,搜索:JS with Babel
找到如下配置:
// Process application JS with Babel. // The preset includes JSX, Flow, TypeScript and some ESnext features. { test: /\.(js|mjs|jsx|ts|tsx)$/, include: paths.appSrc, loader: require.resolve('babel-loader'), options: { customize: require.resolve( 'babel-preset-react-app/webpack-overrides' ), plugins: [ [ require.resolve('babel-plugin-named-asset-import'), { loaderMap: { svg: { ReactComponent: '@svgr/webpack?-prettier,-svgo![path]', }, }, }, ], ], cacheDirectory: true, // Save disk space when time isn't as important cacheCompression: true, compact: true, }, },
進(jìn)行修改plugin下添加:
["import", { "libraryName": "antd", "style": true }]
至此可以取消引入css文件了,babel會(huì)自動(dòng)根據(jù)引入的組件,默認(rèn)加載對(duì)應(yīng)的css。
2.7修改主題色
{ loader: require.resolve('less-loader'), options: { modules: false, modifyVars: { "@primary-color": "#f9c700" } } }
在webpack,中配置less的地方即可修改。@primary-color為antd內(nèi)置的less變量,只需要覆蓋掉默認(rèn)的配置,就實(shí)現(xiàn)了修改主題色。
注意: 運(yùn)行yarn run start報(bào)錯(cuò)
報(bào)錯(cuò)ValidationError: Invalid options object. Less Loader has been initialized using an opti ons object
解決方法: 卸載less-loader,安裝less-loader@5.0.0
yarn remove less-loader yarn add less-loader@5.0.0
到此這篇關(guān)于React+Ant Design開(kāi)發(fā)環(huán)境搭建的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)React Ant Design搭建內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- react quill中圖片上傳由默認(rèn)轉(zhuǎn)成base64改成上傳到服務(wù)器的方法
- react build 后打包發(fā)布總結(jié)
- 詳解React開(kāi)發(fā)中使用require.ensure()按需加載ES6組件
- ReactiveCocoa代碼實(shí)踐之-UI組件的RAC信號(hào)操作
- react+ant design實(shí)現(xiàn)Table的增、刪、改的示例代碼
- React降級(jí)配置及Ant Design配置詳解
- 詳解Ant Design of React的安裝和使用方法
- React使用UI(Ant?Design)框架的詳細(xì)過(guò)程
相關(guān)文章
詳解如何用webpack4從零開(kāi)始構(gòu)建react開(kāi)發(fā)環(huán)境
這篇文章主要介紹了詳解如何用webpack4從零開(kāi)始構(gòu)建react開(kāi)發(fā)環(huán)境,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01在?React?Native?中給第三方庫(kù)打補(bǔ)丁的過(guò)程解析
這篇文章主要介紹了在?React?Native?中給第三方庫(kù)打補(bǔ)丁的過(guò)程解析,有時(shí)使用了某個(gè)React Native 第三方庫(kù),可是它有些問(wèn)題,我們不得不修改它的源碼,本文介紹如何修改源碼又不會(huì)意外丟失修改結(jié)果的方法,需要的朋友可以參考下2022-08-08聊一聊我對(duì) React Context 的理解以及應(yīng)用
這篇文章主要介紹了聊一聊我對(duì) React Context 的理解以及應(yīng)用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04使用store來(lái)優(yōu)化React組件的方法
這篇文章主要介紹了使用store來(lái)優(yōu)化React組件的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10react中value與defaultValue的區(qū)別及說(shuō)明
這篇文章主要介紹了react中value與defaultValue的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05React中useState原理的代碼簡(jiǎn)單實(shí)現(xiàn)
要實(shí)現(xiàn)useState的背后原理,則需要深入了解狀態(tài)是如何在函數(shù)組件的渲染周期中保持和更新的,本文將通過(guò)一段代碼簡(jiǎn)單闡述useState鉤子函數(shù)的實(shí)現(xiàn)思路,希望對(duì)大家有所幫助2023-12-12解決React報(bào)錯(cuò)Rendered more hooks than during
這篇文章主要為大家介紹了React報(bào)錯(cuò)Rendered more hooks than during the previous render解決方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12