【Material-UI】详解安装指南

news2024/9/21 16:41:30

文章目录

    • 一、默认安装
      • 1.1 Peer Dependencies
    • 二、使用styled-components
    • 三、Roboto字体
      • 3.1 使用Fontsource
      • 3.2 使用Google Web Fonts
    • 四、图标
      • 4.1 使用Google Web Fonts
    • 五、CDN安装
    • 六、总结

Material-UI是全球最受欢迎的React UI框架之一。它提供了丰富的组件和高度可定制的主题系统,帮助开发者快速构建现代化的Web应用。本篇推文将详细介绍如何在项目中安装和配置Material-UI,包括默认安装、使用不同的样式引擎、添加字体及图标等,帮助您快速上手这一强大的UI工具。

一、默认安装

要将Material-UI添加到您的项目中,可以选择以下任一包管理器:

  • npm:Node.js包管理器,广泛应用于前端开发。
  • yarn:Facebook推出的替代npm的包管理器,具有更快的安装速度和更好的依赖管理。
  • pnpm:一种更高效的包管理器,采用了硬链接技术来节省磁盘空间。

您可以使用以下命令之一来安装Material-UI:

# 使用 npm
npm install @mui/material @emotion/react @emotion/styled

# 使用 yarn
yarn add @mui/material @emotion/react @emotion/styled

# 使用 pnpm
pnpm add @mui/material @emotion/react @emotion/styled

1.1 Peer Dependencies

Material-UI依赖于React和React DOM,这意味着它们需要在您的项目中已经安装或与Material-UI一起安装。Material-UI目前支持React版本17.0.0和18.0.0。

"peerDependencies": {
  "react": "^17.0.0 || ^18.0.0",
  "react-dom": "^17.0.0 || ^18.0.0"
}

确保您的项目中包含这些版本的React和React DOM,否则可能会遇到兼容性问题。

二、使用styled-components

Material-UI默认使用Emotion作为其样式引擎。如果您更喜欢使用styled-components,可以通过以下命令进行安装:

# 使用 npm
npm install @mui/material @mui/styled-engine-sc styled-components

# 使用 yarn
yarn add @mui/material @mui/styled-engine-sc styled-components

# 使用 pnpm
pnpm add @mui/material @mui/styled-engine-sc styled-components

接下来,请参考styled-components的配置指南来正确配置打包工具,以支持@mui/styled-engine-sc

注意:截至2021年底,styled-components与服务端渲染(SSR)的Material-UI项目不兼容。这是因为babel-plugin-styled-components无法与@mui包内的styled()工具一起工作。更多细节请参见GitHub问题。建议SSR项目使用Emotion。

三、Roboto字体

Material-UI默认使用Roboto字体。您可以通过以下两种方式将其添加到您的项目中:

3.1 使用Fontsource

通过Fontsource,您可以轻松地将Roboto字体集成到项目中,并根据需要选择加载的子集、权重和样式。使用以下命令安装:

# 使用 npm
npm install @fontsource/roboto

# 使用 yarn
yarn add @fontsource/roboto

# 使用 pnpm
pnpm add @fontsource/roboto

然后在入口文件中导入需要的字体权重:

import '@fontsource/roboto/300.css';
import '@fontsource/roboto/400.css';
import '@fontsource/roboto/500.css';
import '@fontsource/roboto/700.css';

3.2 使用Google Web Fonts

您也可以通过Google Web Fonts CDN加载Roboto字体。将以下代码片段添加到项目的<head />标签中:

<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
  rel="stylesheet"
  href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap"
/>

四、图标

Material-UI提供了一套预构建的SVG Material Icons,可以通过安装@mui/icons-material包来使用这些图标:

# 使用 npm
npm install @mui/icons-material

# 使用 yarn
yarn add @mui/icons-material

# 使用 pnpm
pnpm add @mui/icons-material

4.1 使用Google Web Fonts

您也可以通过Google Web Fonts CDN加载Material Icons字体。将以下代码片段添加到项目的<head />标签中:

<link
  rel="stylesheet"
  href="https://fonts.googleapis.com/icon?family=Material+Icons"
/>

五、CDN安装

如果您希望快速进行原型开发,您可以通过CDN加载Material-UI。这种方式适用于快速原型制作,但不推荐用于生产环境,因为它会导致整个库的下载,无论实际使用了多少组件,从而影响性能和带宽使用。

Material-UI提供了两个UMD文件:

  • 开发版:material-ui.development.js
  • 生产版:material-ui.production.min.js

注意:UMD链接指向最新版本。这种指向是不稳定的,随着新版本的发布可能会改变。建议在生产环境中指向特定的版本,例如v5.0.0。

六、总结

本文详细介绍了如何在项目中安装和配置Material-UI。无论是默认的Emotion样式引擎,还是替代的styled-components,您都可以根据项目需求进行选择。同时,我们还介绍了如何添加Roboto字体和Material Icons图标,确保您的应用拥有一致且美观的用户界面。

通过正确的安装和配置,Material-UI将成为您React项目中不可或缺的工具。希望这篇推文能帮助您快速上手Material-UI,构建出色的Web应用。

推荐:

  • JavaScript
  • react
  • vue

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1977316.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSDN 的 Markdown 编辑器图片居中对齐和设置图片大小的方法

图片对齐方式 加在文件格式后面 #pic_center #pic_left #pic_right例如&#xff1a; 居中对齐 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/eb16b0a5bc414b9888ab73f3c74a8acb.png#pic_center)左对齐 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direc…

AI答题应用平台相关面试题

目录 1、请介绍整个系统后端的架构设计&#xff0c;有哪些模块以及各模块之间的关系&#xff1f; 2、你在项目中是如何设计库表的&#xff1f;可以从字段、索引、关联等方面回答。 3、为什么使用策略模式来封装不同的应用评分算法&#xff1f;它有哪些好处&#xff1f;具体如…

Elasticsearch 的DSL查询,聚合查询与多维度数据统计

文章目录 搜索聚合高阶概念 搜索 即从一个索引下按照特定的字段或关键词搜索出符合用户预期的一个或者一堆cocument&#xff0c;然后根据文档的相关度得分&#xff0c;在返回的结果集里并根据得分对这些文档进行一定的排序。 聚合 根据业务需求&#xff0c;对文档中的某个或…

【源码+文档+调试讲解】营业厅宽带系统设计与实现

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本营业厅宽带系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息&…

Action部署在线上写文章

原文&#xff1a;https://blog.c12th.cn/archives/32.html 前言 之前分别出了 Hexo 和 Hugo 的 Action搭建教程&#xff0c;相当于伪动态&#xff0c;可以在线上写文章了&#xff1b;不过对于喜欢魔改的同学就不太友好了qwq 教程 github.dev 确保在配置过程中能访问Github &…

学工系统学生家庭情况登记功能概述

智慧校园学工系统中的“学生家庭情况”模块主要用于收集和管理学生的家庭背景信息&#xff0c;以便学校更好地了解学生的情况&#xff0c;并据此提供相应的支持和服务。该模块通常包括以下几个方面&#xff1a; 基本信息录入&#xff1a;支持录入学生的家庭成员信息&#xff0c…

ocaml精解【1】

文章目录 概述简介一、基本概述二、开发工具三、语言特性四、应用场景五、未来展望 windows下安装基础 参考文献 概述 简介 OCaml&#xff08;Objective Caml&#xff09;是Caml编程语言的主要实现&#xff0c;由Xavier Leroy、Jrme Vouillon、Damien Doligez、Didier Rmy等人…

一款免费强大的电脑锁屏工具,中文绿色免安装

这款软件主要特点是锁屏后不显示密码输入框&#xff0c;直接输入密码即可解锁。 ScreenBlur是一款功能强大的电脑屏幕锁软件&#xff0c;主要用于保护用户的隐私和数据安全。该软件的主要功能包括自动锁屏、隐藏桌面、加密锁机等。 功能特点 自动锁屏&#xff1a;用户可以设…

C语言之unsigned long long与struct相互转换实例(五十六)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列…

数学希腊符号

1、Α α alpha /a:lf/ 阿尔法 2、Β β beta /bet/ 贝塔 3、Γ γ gamma /ga:m/ 伽马 4、Δ δ delta /delt/ 德尔塔 5、Ε ε epsilon /epsilon/ 伊普西龙 6、Ζ ζ zeta /zat/ 截塔 7、Η η eta /eit/ 艾塔 8、Θ θ thet /θit/ 西塔 9、Ι ι iot /aiot/ 约塔 10、Κ κ …

ADHD儿童康复的灯塔,专业与爱共筑希望之桥

在自闭症及注意缺陷多动障碍&#xff08;ADHD&#xff09;儿童教育领域&#xff0c;专业的康复学校扮演着至关重要的角色。这些学校不仅为孩子们提供科学的康复训练&#xff0c;还致力于帮助他们融入社会&#xff0c;实现自我价值。 以星启帆自闭症儿童康复机构为例&#xff0c…

【系统架构设计师】二十四、安全架构设计理论与实践③

目录 五、网络安全体系架构设计 5.1 OSI安全架构 5.2 认证框架 5.3 访问控制框架 5.4 机密性框架 5.5 完整性框架 5.6 抗抵赖框架 往期推荐 五、网络安全体系架构设计 5.1 OSI安全架构 OSI定义了7层协议&#xff0c;其中除第5层(会话层)外&#xff0c;每一层均能提供相…

NetAssist免费下载使用

这种TCPUDP的局域网工具有很多&#xff0c;但是找起来很麻烦&#xff0c;在微信小程序里面发现了一个“TCPUDP局域网小助手”的工具&#xff0c;打开即用非常方便&#xff0c; 打开之后长这样 能下载电脑端NetAssist

使用RK Docker环境编译RK SDK

文章目录 前言Docker介绍实验环境获取RK Docker镜像加载RK Docker镜像使用RK Docker环境编译SDK其它 前言 作为一名嵌入式Linux的学习者&#xff0c;目前编译各种平台&#xff0c;用的都是同一个编译机&#xff08;Ubuntu虚拟机&#xff09;。之前一直在折腾全志&#xff0c;所…

GraphRag本地测试

测试环境&#xff1a;win10 python3.11.9 graphRAG的安装还是很简单的&#xff0c;直接pip pip install graphrag 但要注意&#xff0c;官方说了需要 python3.10-3.12 安装完成后&#xff0c;建立一个文件夹&#xff0c;存放你的知识数据&#xff0c;目前graphRAG仅支持txt和…

Mysql错误:InnoDB: page_cleaner

今天一大早就收到同事昨晚发过来的信息&#xff1a;某省份的充电桩在昨晚22点到23点期间大量挂单即充电不能结算。首先想到的就是订单服务挂了&#xff0c;可查了数据一切正常。所以继续早跑&#xff0c;等上班回公司再查查原因。 来到公司查看了昨晚的项目日记情况&#xff0c…

使用Markdown画图

大部分 Markdown 编辑器的画图功能都是基于 mermaid 的&#xff0c;因此我们先介绍下它。 ‍ 什么是 mermaid ​ ‍ mermaid 是一个开源的项目&#xff0c;旨在通过纯文本的形式来画图&#xff0c;支持流程图&#xff0c;时序图&#xff0c;甘特图&#xff0c;类图&#x…

Arduino PID库 (1)– 简介

Arduino PID库 &#xff08;1&#xff09;– 简介 pid内容索引-CSDN博客pid术语及整定原则参考&#xff1a;手把手教你看懂并理解Arduino PID控制库——引子)库的改进QuickPID-sTune库 原文地址 随着新的Arduino PID库的发布&#xff0c;最后一个库虽然很可靠&#xff0c;但…

浅谈AC自动机算法(c++)

文章目录 自动机一些简单的自动机&#xff1a; AC 自动机字典树构建失配指针构建指针 [HNOI2006] 最短母串问题题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示思路AC代码 「一本通 2.4 例 1」Keywords SearchAC代码 自动机 自动机是什么&#xff1f; 自动机的作…

Linux小组件:gcc

gcc 是C语言的编译器&#xff0c;在Linux下我们也用这个编译C语言 安装gcc sudo apt install build-essential 查看gcc版本信息 gcc --version 有时候会出现代码编译不过去的问题&#xff0c;通常可能是gcc的编译标准太低&#xff0c;不支持某些写法 比如在很多旧的编译标…