React 之 Ant Design 按需引入

React中的ui组件库之Ant-design的使用,以及实现按需引入步骤和实现自定义主题的步骤(react18) 阅读详情
使用官方推荐的脚手架
create-react-app myapp
暴露webpack 配置
cd myapp && yarn eject
//按提示输入 y
yarn run v1.16.0
$ react-scripts eject
NOTE: Create React App 2+ supports TypeScript, Sass, CSS Modules and more without ejecting: https://reactjs.org/blog/2018/10/01/create-react-app-v2.html

? Are you sure you want to eject? This action is permanent. Yes
Ejecting...
修改 ./config/webpack.config.js options
options: {
+	babelrc: true,
-	babelrc: true,
	configFile: false,
	compact: false,
	presets: [
		[require.resolve('babel-preset-react-app/dependencies'),
			{ helpers: true },
		],
		],
		cacheDirectory: true,
		cacheCompression: isEnvProduction,

		// If an error happens in a package, it's possible to be
		// because it was compiled. Thus, we don't want the browser
		// debugger to show the original code. Instead, the code
		// being evaluated would be much more helpful.
		sourceMaps: false,
	},
修改 package.json babel 配置
  "babel": {
    "presets": [
      "react-app"
    ],
   + "plugins": [
   +  [
   +     "import",
   +    {
   +       "libraryName": "antd",
   +      "style": "css"
   +     }
   +  ]
   + ]
  }
安装依赖
//安装依赖
yarn add react-router axio less-loader antd babel-plugin-import
//启动项目 
yarn start
报错与解决办法

出现错误 Cannot find module '@babel/plugin-transform-react-jsx-source'
先删除 node_node_modules 再次安装

rm -rf node_modules
yarn install

附上链接 Cannot find module ‘@babel/plugin-transform-react-jsx-source’ when running React App

按需引入组件
import React from 'react';
import logo from './logo.svg';
import './App.css';
import { DatePicker } from 'antd'

function App() {
  return (
    <div className="App">
      <DatePicker />
    </div>
  );
}

export default App;

在这里插入图片描述

在组件内使用

在 /src/ 下新建 page 文件夹下新建 home 文件夹新建 Home.js 和 index.css

Home.js

import React from 'react';
import { Layout, Menu, Breadcrumb, Icon } from 'antd';
import './index.css';
const { Header, Content, Footer, Sider } = Layout;
const { SubMenu } = Menu;

export default class SiderDemo extends React.Component {
    state = {
        collapsed: false,
    };

    onCollapse = collapsed => {
        console.log(collapsed);
        this.setState({ collapsed });
    };

    render() {
        return (
            <Layout style={{ minHeight: '100vh' }}>
                <Sider collapsible collapsed={this.state.collapsed} onCollapse={this.onCollapse}>
                    <div className="logo" />
                    <Menu theme="dark" defaultSelectedKeys={['1']} mode="inline">
                        <Menu.Item key="1">
                            <Icon type="pie-chart" />
                            <span>Option 1</span>
                        </Menu.Item>
                        <Menu.Item key="2">
                            <Icon type="desktop" />
                            <span>Option 2</span>
                        </Menu.Item>
                        <SubMenu key="sub1" title={
                                <span>
                                    <Icon type="user" />
                                    <span>User</span>
                                </span>
                            }>
                            <Menu.Item key="3">Tom</Menu.Item>
                            <Menu.Item key="4">Bill</Menu.Item>
                            <Menu.Item key="5">Alex</Menu.Item>
                        </SubMenu>
                        <SubMenu key="sub2" title={
                                <span>
                                    <Icon type="team" />
                                    <span>Team</span>
                                </span>
                            }>
                            <Menu.Item key="6">Team 1</Menu.Item>
                            <Menu.Item key="8">Team 2</Menu.Item>
                        </SubMenu>
                        <Menu.Item key="9">
                            <Icon type="file" />
                            <span>File</span>
                        </Menu.Item>
                    </Menu>
                </Sider>
                <Layout>
                    <Header style={{ background: '#fff', padding: 0 }} />
                    <Content style={{ margin: '0 16px' }}>
                        <Breadcrumb style={{ margin: '16px 0' }}>
                            <Breadcrumb.Item>User</Breadcrumb.Item>
                            <Breadcrumb.Item>Bill</Breadcrumb.Item>
                        </Breadcrumb>
                        <div style={{ padding: 24, background: '#fff', minHeight: 360 }}>Bill is a cat.</div>
                    </Content>
                    <Footer style={{ textAlign: 'center' }}>Ant Design ©2018 Created by Ant UED</Footer>
                </Layout>
            </Layout>
        );
    }
}

index.css

#components-layout-demo-side .logo {
    height: 32px;
    background: rgba(255, 255, 255, 0.2);
    margin: 16px;
}
在 app中 引入组件
import React from 'react';
import Home from './page/home/Home'
import './App.css';

function App() {
  return (
    <div className="App">
      <Home/>
    </div>
  );
}

export default App;

在这里插入图片描述

其他问题 Import in body of module; reorder to top import/first

将组件中所有 import 写在最前即可。

React项目按需引入Ant Design Mobile后,样式文件不生效的解决方案 背景介绍: 在 React 项目中,为了减小包的体积,在确定了使用 Ant Design Mobile UI组件库之后,按照官方文档,采用按需引入的方案,引入组件后,样式文件并未生效 测试按需加载组件 // 按照官方文档在 **App.js** 中引入 Button 按钮测试是否生效 import { Button } from 'antd-mobile' function App () { <div> <Button type="primary">快点我~~~< 阅读详情

相关推荐

AI赋能软件测试:从冒烟测试到全流程智能化的效率革命

软件测试是确保软件质量的关键环节,其核心原理是通过预设用例验证系统功能是否符合预期。传统测试方法依赖人工编写和维护脚本,面临维护成本高、适应性差等挑战。随着人工智能技术的发展,特别是自然语言处理和计算机视觉的成熟,AI为测试领域带来了新的技术价值。通过让AI理解应用界面和业务逻辑,可以实现测试用例的智能生成、自主执行和结果分析,显著提升测试效率和覆盖率。在实际应用场景中,AI驱动的冒烟测试能够动态适应UI变化,自动分析失败日志,将测试人员从重复劳动中解放出来,专注于更复杂的质量策略设计。本文基于AI在冒烟测

weixin_28841265的博客 306

react引入antd组件示例步骤

如果:info There appears to be trouble with your network connection. Retrying…重新执行:sudo yarn add babel-plugin-import。项目跟目录创建:config-overrides.js。修改package.json。然后删除:yarn.lock。配置antd加载需要的库。

qq_43220266的博客 842

3、利用预训练卷积神经网络进行特征提取

本文介绍了如何使用预训练的卷积神经网络(如VGG16)进行图像特征提取,并将提取的特征存储在HDF5数据集中,以便后续用于机器学习模型的训练。文章详细阐述了特征提取的原理、HDF5数据格式的优势、HDF5DatasetWriter类的实现、特征提取流程的代码实现以及实际应用案例。通过该方法,可以在多种图像数据集上高效构建高精度的分类模型。

z2a3b4c5d的博客 114

Ant Design Vue中日期选择器快捷选择 presets 用法

范围选择时可接受一个数组 具体参考。ant写文档的纯懒狗。话不多说 直接上代码。

weixin_46607967的博客 941

主流反爬虫、反作弊防护与风控对抗手段

主流反爬虫、反作弊风控防护中的核心设计点与对抗策略

吴秋霖的博客 2555

YOLOv11 改进 - 检测头 | Detect_LSCD轻量共享卷积检测头:轻量化设计破解计算瓶颈,增强复杂场景目标感知能力

本文介绍了基于群归一化(GroupNorm)和共享卷积的轻量化检测头LSCD,并将其集成进YOLOv11。LSCD检测头充分利用了GroupNorm和共享卷积的优势,在保持特征信息有效融合的同时,减少计算量和运算复杂度。我们将LSCD的代码集成到YOLOv11检测头中,并在tasks文件中进行注册。实验证明,YOLOv11-LSCD在目标检测任务中取得了良好的效果。

魔改工程师的博客 2387

React中ant-design使用+antd的按需引入+自定义主题+踩坑填坑

这两天正在学习react,学习使用ant-desgin快速搭建网站,在配置按需引入和自定义主题的时候,遇到一些问题,特此记录一下整个配置流程和解决方案的过程。

weixin_45710060的博客 1万+

Qualcomm 常用NV列表

^ NV ITEM ^ 功能^^ |NV10 |mode prefer,找网模式|新平台使用NV80000| ^NV74 NV74=0关闭自动接听电话^ |NV240 |NV240=FALSE|EVDO出现网络的问题,此项必须设定为FALSE| |NV255 |CDMA规避网络列表(SID/NID号)| |NV256 |

sdrgtywretyeruet的专栏 5769

如何在react项目中使用Ant Design的按需导入样式和结构

react如何按需引入ant-design

qq_25972233的博客 1412

黑猫带你学eMMC协议第12篇:生产状态感知(PSA)

1 概述 1.1 什么是PSA Production State Awareness (PSA) 生产状态感知 e•MMC设备可以利用其是否在生产环境中的信息,从而在现场运作时进行不同的操作。 例如,在设备低温焊接(soldering)前,将数据写入emmc,可能导致数据出错,而正在焊接期间写入数据,出错的概率可能会更大。在低温焊接之前,emmc设备可以使用一种特定的内部操作去加载内容,这样就能减少数据出错的概率,而在低温焊接后进行常规的操作就行了。 1.2 psa如何进行工作? PSA存在于emmc5.0

黑猫奥利奥的博客 4260

工业级实战:C#上位机集成YOLO实现多目标跟踪(含数据库存储+报表导出)

推理核心:ONNX Runtime实现C#直接推理YOLO模型,GPU优先+CPU降级适配工业机;跟踪核心:SORT算法轻量级实现多目标跟踪,保证工业场景实时性与稳定性;数据核心:MySQL存储+本地缓存,Excel报表标准化导出,满足工业数据追溯与质检需求;部署核心:模型优化、GPU加速、开机自启,保证工业级7x24小时运行。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 474

antdesign——按需引入

全局引入:js体积很大 npm i ant-design-vue // 全局引入antdesign import Antd from "ant-design-vue"; import "ant-design-vue/dist/antd.less"; Vue.use(Antd); 按需引入:性能优化 npm i babel-plugin-import // babel.config.js module.exports = { presets: ["@vue/cli-plugin-babel/prese

xiaoququ的博客 1993

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

react 按需引入 Ant Design

如果不按需引入,项目大的情况下会影响性能,启动速度慢, 需要对create-react-app 默认配置进行自定义 使用 react-app-rewired 安装 react-app-rewired npm install react-app-rewired customize-cra --save 修改package.json, 把原来scripts里面的配置删掉,换成下面的 "scripts": { "start": "react-app-rewired start"

酒馆不打烊 670

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

reactjs antd(ant-design)安装、基本使用及css样式的按需引入

reactjs antd(ant-design)安装、基本使用及css样式的按需引入

学亮编程手记 838

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

create-react-app中按需引入Ant-Design

先来回顾一下create-react-app脚手架创建项目的方法//安装create-react-app脚手架 npm i create-react-app -g //创建项目 create-react-app antd-demo //启动项目 npm start 安装Ant-Designnpm i antd -S 按需引入Ant-Design插件这里需要用到两个插件一、react-app-rew...

zuggs_的博客 793

React ant.design 按需引入

需要下载的包 $ yarn add antd react-app-rewired customize-cra $ yarn add babel-plugin-import --save-dev 修改package.json /* package.json */ "scripts": { - "start": "react-scripts start", + "start": "react-app-rewired start", - "build": "react-scripts build",

qq_29850249的博客 180

2022-04-05 学习记录--React-React UI组件库-ant-design(蚂蚁金服)—— 按需引入样式 + 自定义主题

React-React UI组件库-ant-design(蚂蚁金服)—— 按需引入样式 + 自定义主题

weixin_48850734的博客 3649

Ant Design在React中的配置按需引入

        Ant Design 在React中按需引入的配置 首先,Ant Design是基于less的,所以第一步要先配置好less。   安装less:cnpm i less less-loader -S   安装完成后,到config文件夹下边找到webpack.config.dev.js文件,然后可以复制上边css的的配置,把test: /\.css$/中的css...

weixin_30544657的博客 214

从打包体积2.7MB到800KB:实战分析React+Ant Design项目性能优化(含按需引入与主题配置前后对比)

本文详细解析了React+Ant Design项目从2.7MB到800KB的性能优化实战,重点介绍了按需引入和自定义主题配置等关键技术。通过Webpack Bundle Analyzer诊断、babel-plugin-import按需加载、CSS Purge优化等手段,实现打包体积减少70.4%,首屏加载时间提升57.1%,为大型前端项目提供可复用的优化方案。

weixin_30879169的博客 415

react 引入antd 样式_引用Ant.Design到React中

参考地址:http://ant.design/index-cn​ant.design首先说说ant.design是干啥的,ant.design是基于react开发的一个解放ui和前端的工具,它提供了一致的设计方便我们快速开发和减少不必要的设计与代码,且其在github上的star数也有4万多了。ant.design的目的也在于提高用户、开发者等多方的体验与幸福感。在React命令行中打开命令行安装...

weixin_40003512的博客 2573

React - Ant Design4.x版本安装使用,并按需引入和自定义主题

React - Ant Design4.x版本安装使用,并按需引入和自定义主题

技术共享,共同进步! 4042

react按需引入antd,修改antd样式主题

react按需引入antd,修改antd样式主题

FleshyAPP的博客 1181

react 实现ant design 按需引入和自定义主题

2. 按需加载 使用 babel-plugin-import 按需加载 运行 ,安装babel按需加载依赖 在package.json添加以下配置 3. 在组件中引入并使用 4. 修改主题 4.1 下载craco 4.1 设置package.json 4.3 项目根目录创建一个 craco.config.js 用于修改默认配置 展示:

weixin_44244924的博客 418

推荐使用Craco Ant Design插件,打造高效React开发体验!

推荐使用Craco Ant Design插件,打造高效React开发体验! Craco Ant Design是一个由社区维护的插件,它使得在create-react-app v2+中使用Ant Design变得简单易行。该插件基于craco和react-scripts,提供了一套完整的解决方案,包括了Less编译和babel-plugin-import功能,有效减少不必要的CSS导入。 项目介绍 ...

gitblog_00016的博客 609
上一篇: react-native 出现 Could not find iPhone 6 simulator 与 ":CFBundleIdentifier", Does Not Exist
下一篇: Vue 大型项目热更新优化
爱开车的彬哥
博客等级 码龄10年 50粉丝 77原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值