❤️ React的安装和使用(实战篇)

news2024/11/28 0:48:23

React的安装和使用

一、React的安装和使用

reactJs警告提示:
This version of tar is no longer supported, and will not receive security updates. Please upgrade asap

翻译:tar@2.2.2:此版本的tar不再受支持,将不会收到安全更新。请尽快升级。

简而言之:tar@2.2.2过期
运行:npm install -g tar
tar的版本更新到最新

检查React版本是否安装:

create-react-app -V

在这里插入图片描述

显示我的版本已经安装成功,猜测可能是安装成功再次安装给的提示!

二、创建项目并运行

1、 创建 react 项目
 

2、进入到项目里 
cd my-app

3、安装 less 及 loader
yarn add -D less less-loader

4、将 webpack 配置暴露出来
yarn eject

5、打开 /config/webpack.config.js
全局搜索 style files regexes 找到如下代码位置

// style files regexes
const cssRegex = /\.css$/
const cssModuleRegex = /\.module\.css$/
const sassRegex = /\.(scss|sass)$/
const sassModuleRegex = /\.module\.(scss|sass)$/


6、在这个代码的下边添加两行 less 的配置
// style files regexes
const cssRegex = /\.css$/
const cssModuleRegex = /\.module\.css$/
const sassRegex = /\.(scss|sass)$/
const sassModuleRegex = /\.module\.(scss|sass)$/

const lessRegex = /\.less$/ // 新添加的
const lessModuleRegex = /\.module\.less$/ // 新添加的


7、全局搜索 test: sassModuleRegex,找到如下代码位置:
            // Adds support for CSS Modules, but using SASS
            // using the extension .module.scss or .module.sass
            {
              test: sassModuleRegex,
              use: getStyleLoaders(
                {
                  importLoaders: 3,
                  sourceMap: isEnvProduction
                    ? shouldUseSourceMap
                    : isEnvDevelopment,
                  modules: {
                    mode: 'local',
                    getLocalIdent: getCSSModuleLocalIdent,
                  },
                },
                'sass-loader'
              ),
            },
            // "file" loader makes sure those assets get served by WebpackDevServer.
            // When you `import` an asset, you get its (virtual) filename.
            // In production, they would get copied to the `build` folder.
            // This loader doesn't use a "test" so it will catch all modules
            // that fall through the other loaders.
            {
              // Exclude `js` files to keep "css" loader working as it injects
              // its runtime that would otherwise be processed through "file" loader.
              // Also exclude `html` and `json` extensions so they get processed
              // by webpacks internal loaders.
              exclude: [/^$/, /\.(js|mjs|jsx|ts|tsx)$/, /\.html$/, /\.json$/],
              type: 'asset/resource',
            },

9、添加 less 的 loader 就完成了

            // Adds support for CSS Modules, but using SASS
            // using the extension .module.scss or .module.sass
            {
              test: sassModuleRegex,
              use: getStyleLoaders(
                {
                  importLoaders: 3,
                  sourceMap: isEnvProduction
                    ? shouldUseSourceMap
                    : isEnvDevelopment,
                  modules: {
                    mode: 'local',
                    getLocalIdent: getCSSModuleLocalIdent,
                  },
                },
                'sass-loader'
              ),
            },
            
            // ------------- 从这里往下都是添加的行
            {
              test: lessRegex,
              exclude: lessModuleRegex,
              use: getStyleLoaders(
                {
                  importLoaders: 2,
                  sourceMap: isEnvProduction
                    ? shouldUseSourceMap
                    : isEnvDevelopment,
                },
                'less-loader'
              ),
              // Don't consider CSS imports dead code even if the
              // containing package claims to have no side effects.
              // Remove this when webpack adds a warning or an error for this.
              // See https://github.com/webpack/webpack/issues/6571
              sideEffects: true,
            },

            {
              test: lessModuleRegex,
              use: getStyleLoaders(
                {
                  importLoaders: 2,
                  sourceMap: isEnvProduction && shouldUseSourceMap,
                  modules: {
                    getLocalIdent: getCSSModuleLocalIdent,
                  },
                },
                'less-loader'
              ),
            },
            // ------------- 从这里往上都是添加的行
            
            // "file" loader makes sure those assets get served by WebpackDevServer.
            // When you `import` an asset, you get its (virtual) filename.
            // In production, they would get copied to the `build` folder.
            // This loader doesn't use a "test" so it will catch all modules
            // that fall through the other loaders.
            {
              // Exclude `js` files to keep "css" loader working as it injects
              // its runtime that would otherwise be processed through "file" loader.
              // Also exclude `html` and `json` extensions so they get processed
              // by webpacks internal loaders.
              exclude: [/^$/, /\.(js|mjs|jsx|ts|tsx)$/, /\.html$/, /\.json$/],
              type: 'asset/resource',
            },


10、配置结束
直接在项目里引入一个 less 文件,就可以正常的使用了

三、写出一个hello,word组件

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

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

相关文章

SwiftUI Swift 多个 sheet

今天做一个多个 sheet 的效果,点击下面三个按钮打开不同的 sheet 。 Show me the code import SwiftUIenum CurrentActiveSheet: Identifiable {case add, edit, deletevar id: Int {hashValue} }struct MoreSheet: View {State var currentActiveSheet: CurrentAc…

拓扑排序(Java实现)

一、基本思想 拓扑排序是一种对有向无环图(DAG)进行排序的算法,它将所有顶点排成一个线性序列,使得对于任意一条有向边(u, v),u在序列中都出现在v之前。拓扑排序的思想非常直观,就像…

已完结,给小白的《50讲Python自动化办公》

大家好,这里是程序员晚枫,小红薯也叫这个名。 写在前面 上个周末去成都参加了第8届中国开源年会,认识了很多行业前辈和优秀的同龄人。 我发现在工作之外还能有一番事业的人,都有一个让我羡慕的共同点:有一个拿得出手…

Redis实战 | 使用Redis 的有序集合(Sorted Set)实现排行榜功能,和Spring Boot集成

专栏集锦,大佬们可以收藏以备不时之需 Spring Cloud实战专栏:https://blog.csdn.net/superdangbo/category_9270827.html Python 实战专栏:https://blog.csdn.net/superdangbo/category_9271194.html Logback 详解专栏:https:/…

LangChain+LLM实战---ChatGPT的工作原理

一个词一个词的输出 ChatGPT能够自动生成类似于人类书写的文本,这是非常了不起和出乎意料的。但它是如何做到的?为什么会有效果呢?我的目的在于大致概述ChatGPT内部发生了什么,然后探讨它为什么能够很好地生成我们认为有意义的文…

[MRCTF2020]你传你呢1

提示 只对php以及phtml文件之类的做了防护content-type.htaccess文件 这里就不整那么麻烦直接抓包测试 首先对后缀测试看过滤了哪些 (php php3 pht php5 phtml phps) 全部被ban了 到这里的后续思路通过上传一些配置文件把上传的图片都以php文件执行 尝试上传图片码, 直接上传成…

[自动化运维工具] Ansible的简单介绍与常用模块详解

文章目录 1. Ansible概述1.1 简介1.2 Ansible的特性1.3 Ansible的组件构成1.4 Ansible的工作原理 2. Ansible环境部署2.1 前置准备2.2 安装ansible2.3 查看基本信息2.4 配置远程主机清单 3. Ansible的常用模块3.1 ansible的基础命令格式3.2 Command模块3.2.1 基本格式和常用参数…

Android 10.0 系统wifi列表显示已连接但无法访问网络问题解决

1.前言 在10.0的系统产品开发中,在wifi模块也很重要,但是在某些情况下对于一些wifi连接成功后,确显示已连接成功,但是无法访问互联网 的情况,所以实际上这时可以正常上网的,就是显示的不正常,所以就需要分析连接流程然后解决问题 如图所示 2.系统wifi列表显示已连接但无…

前端滚动分页

场景 在前端开发中,我们经常碰到分页加载的需求,在PC端通常用分页组件就可以解决这种类型的场景。而当我们在移动端中,分页组件就显得有点不符合逻辑和正常的交互体验,所以滚动分页常常成为我们的一种选择,即页面滚动…

PostgreSQL空间地理信息postGis

PostgreSQL 数据库 PostgreSQL有各种各样的插件扩展其功能,其中地理信息有PostGis插件的支持,丰富PostgreSQL 数据库的使用功能。因此PostgreSQL 结合PostGis可以存储Geometry类型数据的点、线、面等数据,同时还可以结合相应的专有函数做空间…

听GPT 讲Rust源代码--library/std(11)

题图来自 Features of Rust[1] File: rust/library/std/src/sys/itron/time.rs 在Rust源代码中,rust/library/std/src/sys/itron/time.rs文件是用于实现与ITRON操作系统相关的时间功能。ITRON是一种实时操作系统,被广泛用于嵌入式系统中。这个文件中定义…

ps5计时计费管理系统软件怎么使用教学,佳易王PS5体验馆计时收费管理倒计时提醒软件试用下载

ps5计时计费管理系统软件怎么使用教学,佳易王PS5体验馆计时收费管理倒计时提醒软件试用下载 每台机子可以自由设置倒计时提醒的时间,到了时间后,电脑会发出语音提醒同时改变颜色双重提醒方式。也可以在中途关闭提醒或更改提醒时间。每个机子可…

Pycharm安装配置Pyqt5教程(保姆级)

目录 一、前言 1、依赖包 2、工具 二、安装依赖包 三、配置环境 四、配置设计工具 1、Qt Designer 2、PyRcc 3、PyUIC 五、使用 1、界面设计 2、ui文件转化为py文件 一、前言 很多情况下需要为程序设计一个GUI界面,在Python中使用较多的用户界面设计工具…

图像新型拼接

道路摄像头拼接 拼接道路上的摄像头,比较麻烦,如图所示 前后的摄像头都是如此,那么如何拼接摄像头画面呢,像下面这样拼接 测试代码 测试一下代码,使用python import cv2 import numpy as npimg cv2.imread("…

python 成绩统计,输出及格率和优秀率

题目描述: 小蓝给学生们组织了一场考试,卷面总分为100分,每个学生的得分都是一个0到100的整数。 如果得分至少是60分,则称为及格。如果得分至少为85分,则称为优秀。 请计算及格率和优秀率,用百分数表示&am…

【算法训练营】最近公共祖先+求最大连续bit数

算法 1.最近公共祖先求最大连续bit数 1.最近公共祖先 题目链接 【题目解析】: 最近公共祖先表示距离两个节点最近的公共父节点,这道题考察二叉树。【解题思路】: 题目所描述的满二叉树如下: 1 / \ 2 3 / \ / \ 4 5 6 7 上述树中…

分布式单元化

一 分布式单元化 1.1 两地三中心 顾名思义,两地指的是两个城市:同城,异地。三中心指的是三个数据中心:生产中心、同城容灾中心、异地容灾中心。 在同一个城市或者临近的城市建设两个相同的系统,双中心具备相当的业…

25.3 MySQL 多表查询

1. 排序 ORDER BY子句用于对查询结果进行排序. 它可以按照一个或多个列的值进行升序或降序排序.在SELECT语句中, ORDER BY子句应该位于结尾, 其基本语法如下: SELECT 字段1, 字段2, ... FROM 表名 ORDER BY 列名1 [ASC|DESC], 列名2 [ASC|DESC], ...其中, ASC(ascend): 表…

ardupilot开发 --- gdb 篇

环境 win11 vscode 1.81.0 wsl2 ardupilot 利用gdb工具在vsCode中实现 Ardupilot SITL的断点调试 优点:可在vsCode中实现断点调试。 参考文献:https://ardupilot.org/dev/docs/debugging-with-gdb-using-vscode.html 安装gdb工具 打开wsl&#xff0…

项目实战:新增@Controller和@Service@Repository@Autowire四个注解

1、Controller package com.csdn.mymvc.annotation; import java.lang.annotation.*; Target(ElementType.TYPE) Retention(RetentionPolicy.RUNTIME) Inherited public interface Controller { }2、Service package com.csdn.mymvc.annotation; import java.lang.annotation.*…