React基础-webpack+creact-react-app创建项目

学习视频:学习视频

2节:webpack工程化创建项目

2.1.webpack工程化工具:vite/rollup/turbopak;

+实现组件的合并、压缩、打包等;
+代码编译、兼容、校验等;

2.2.React工程化/组件开发

我们可以基于webpack自己去搭建一套工程化打包的架子,但是这样非常的麻烦、复杂;React官方,为我们提供了一个脚手架:
+脚手架:基于它创建项目,默认就把webpack的打包规则已经处理好了,把一些项目需要的基本文件也都创建好了

2.3.create-react-app基于运用

  • 安装脚手架:npm跑项目改为yarn跑项目:把node_modules和package-lock.json删掉,用yarn跑就行了
    $ npm i create-react-app -g
    检查安装情况
    $ create-react-app --version
  • 基于脚手架创建React工程化的项目
    $ create-react-app 项目名称 (项目名称要遵循npm命名规则,数字、小写字母、_ 命名)
项目目录:
|-node_modules: 项目依赖
|-src: 所有后续编写的代码,几乎都放在src下,[打包的时候一般只对这个目录下的代码进行处理]|-index.js ----入口文件
|-public:放页面模板|-index.html
|-package.json

在这里插入图片描述

2.4.React项目中,默认会安装:

react: React框架的核心
react-dom: React视图渲染的核心[基于React构建webApp(HTML页面)]
react-natvie: 构建和渲染APP的
react-scripts: 脚手架为了让项目目录看起来干净一些,把webpack打包的规则及相关的插件/LOADER等都隐藏到了node_modules目录下,react-sctipts就是
脚手架中自己对打包命令的一种封装,基于它打包,会调用node_modules中的webpack等进行处理
web-vitals: 性能检测工具
在这里插入图片描述

2.5.package.json文件

在这里插入图片描述
eslint配置:
在这里插入图片描述
浏览器兼容配置:
在这里插入图片描述
src文件夹:
在这里插入图片描述

3节:脚手架的进阶应用

3.1 yarn eject / npm run eject的使用

在这里插入图片描述
命令执行后会生成两个文件夹:config和scripts
在这里插入图片描述
在这里插入图片描述
package.json文件的更改:
在这里插入图片描述
babel-preset-react-app包是对@babel/preset-env语法包的重写[目的:把es6转为es5],重写的目的:让语法包可以识别React的语法,实现代码转换
在这里插入图片描述
在这里插入图片描述

3.2.常见的配置修改

  • 把sass改为less
yarn add less less-loader@8 // 使用第八个版本,用新版本有些配置规则会匹配不上
yarn remove sass-loader

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • create-react-app脚手架默认webpack规则的修改:直接去暴露的源码中改:(在webpack.config.js文件中改)
    所以需要大家具备一定的webpack能力

  • 配置别名:
    在这里插入图片描述

  • 修改端口号和域名:
    在这里插入图片描述

如果想基于修改环境变量的方式来改:

yarn add cross-env

在这里插入图片描述

  • 修改浏览器兼容
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 跨域代理:处理Proxy跨域
    在这里插入图片描述
  1. 在src目录中新建setupProxy.js文件(config/paths.js文件 中setupProxy.js作为跨域入口文件)
yarn add http-proxy-middleware

http-proxy-middleware:实现跨域代理的模块[webpack-dev-serve的跨域代理原理,也是基于它完成的]
在这里插入图片描述
测试使用:
在这里插入图片描述

4节:MVC模式和MVVM模式

atackoverflow网站专门用于统计哪个框架的使用次数
在这里插入图片描述

5节:JSX语法使用上的细节

5.1.JSX构建视图的基础知识

JSX: javascript and xml(自定义标签) 把JS和HTML标签混合在了一起

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Flutter/Android】运行到安卓手机上一直卡在 Running Gradle task ‘assembleDebug‘... 的终极解决办法

方法步骤简要 查看你的Flutter项目需要什么版本的 Gradle 插件: 下载这个插件: 方法一:浏览器输入:https://services.gradle.org/distributions/gradle-7.6.3-all.zip 方法二:去Gradle官网找对应的版本:h…

网页数据批量采集流程搭建

分享主流电商平台网页数据批量采集,数据采集API接口的相关知识。 电商数据采集是很多运营工作中必不可少的一个环节。有了足够的数据,才能够更好地了解自身的受众群体,并且根据受众的喜好进行有针对性的设计和优化。 数据采集的流程是怎样的…

挑战杯 基于机器学习与大数据的糖尿病预测

文章目录 1 前言1 课题背景2 数据导入处理3 数据可视化分析4 特征选择4.1 通过相关性进行筛选4.2 多重共线性4.3 RFE(递归特征消除法)4.4 正则化 5 机器学习模型建立与评价5.1 评价方式的选择5.2 模型的建立与评价5.3 模型参数调优5.4 将调参过后的模型重…

CSRF靶场实战

DVWA靶场链接&#xff1a;https://pan.baidu.com/s/1eUlPyB-gjiZwI0wsNW_Vkw?pwd0b52 提取码&#xff1a;0b52 DVWA Low 级别打开靶场&#xff0c;修改密码 复制上面的 url&#xff0c;写个简单的 html 文件 <html <body> <a hrefhttp://127.0.0.1/DVWA/vulne…

HTML+CSS+JS:轮播组件

效果演示 一个具有动画效果的卡片元素和一个注册表单&#xff0c;背景为渐变色&#xff0c;整体布局简洁美观。 Code <div class"card" style"--d:-1;"><div class"content"><div class"img"><img src"./i…

第三节:Vben Admin登录对接后端login接口

系列文章目录 第一节&#xff1a;Vben Admin介绍和初次运行 第二节&#xff1a;Vben Admin 登录逻辑梳理和对接后端准备 文章目录 系列文章目录前言一、Flask项目介绍二、使用步骤1.User模型创建2.迁移模型3. Token创建4. 编写蓝图5. 注册蓝图 三. 测试登录总结 前言 上一节&…

Jenkins中权限管理说明(9)

Jenkins版本&#xff1a;2.303.1 默认情况下&#xff0c;Jenkins是不允许注册操作&#xff0c;只有安装时候赋予的管理员账户。 Jenkins Role Authorization 插件 可以通过通配符方式给用户分配角色&#xff0c;即特定的用户只能看到特定前缀的 View 和 Job&#xff0c;所以一…

新的一年,如何优化企业库存管理?

随着社会的发展和经济的不断增长&#xff0c;库存管理成为了企业运营中非常重要的一环。库存作为企业的资产之一&#xff0c;直接影响着企业的盈利能力和竞争优势。因此&#xff0c;对企业库存进行科学的分析和管理&#xff0c;成为了确保企业持续稳定发展的必要手段之一。企业…

新茶饮“卖水人”混战:徳馨、恒鑫,谁能“卷”出新故事?

春节临近&#xff0c;新茶饮品牌将迎来一年中最大的销售旺季。 而作为新茶饮背后的供应商德馨食品于2023年9月30日终止IPO&#xff1b;原料果汁速冻果块制造商田野创新股份有限公司&#xff08;下称“田野股份”&#xff0c;832023.BJ&#xff09;于2023年2月2日在北交所上市&…

WampServer环境下载安装并结合内网穿透实现远程访问管理界面

文章目录 前言1.WampServer下载安装2.WampServer启动3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4.固定公网地址访问 前言 Wamp 是一个 Windows系统下的 Apache PHP Mysql 集成安装环境&#xff0c;是一组常用来…

2024 Sora来了!“手机Agent智能体”也来了!

近日&#xff0c;Open AI发布了能够根据文本生成超现实视频的工具Sora&#xff0c;多款震撼视频引爆科技圈刷屏&#xff0c;热度持续发酵占据AI领域话题中心&#xff0c;被认为是AGI实现过程里的重大里程碑事件。新一轮的人工智能浪潮给人类未来的生产和生活方式带来巨大而深远…

数字滚动实现

介绍 vue-countup-v3 插件是一个基于 Vue3 的数字动画插件&#xff0c;用于在网站或应用程序中创建带有数字动画效果的计数器。通过该插件&#xff0c;我们可以轻松地实现数字的递增或递减动画&#xff0c;并自定义其样式和动画效果。该插件可以用于许多场景&#xff0c;例如展…

K8S—集群调度

目录 前言 一 List-Watch 1.1 list-watch概述 1.2 list-watch工作机制 二 集群调度 2.1 调度过程 2.2 Predicate 和 Priorities 的常见算法和优先级选项 2.3 调度方式 三 亲和性 3.1 节点亲和性 3.2 Pod 亲和性 3.3 键值运算关系 3.4 Pod亲和性与反亲和性 3.5 示例…

基于ZYNQ的PCIE高速数据采集卡的设计(三)硬件设计

采集卡硬件设计 3.1 引言 采集卡的硬件设计是实现采集功能的基础&#xff0c;良好的硬件设计可以使采集功能更容 易实现&#xff0c;方便软件开发。本章基于第二章的硬件设计方案来详细介绍采集卡硬件设计。 包括载卡和子卡的芯片的选型、配置和具体电路的设计。载卡和子卡…

VIC模型参数率定和优化、未来气候变化模型预测

目录 专题一 VIC模型的原理及特点 综合案例一 基于QGIS的VIC模型建模 专题二 VIC模型率定验证 综合案例二 基于R语言VIC参数率定和优化 专题三 遥感技术与未来气候变化 综合案例三 运用VIC模型评估未来气候对水文情势的影响 更多应用 VIC模型是一个大尺度的半分布式水文…

【Linux运维系列】vim操作

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

基于Pytorch的猫狗图片分类【深度学习CNN】

猫狗分类来源于Kaggle上的一个入门竞赛——Dogs vs Cats。为了加深对CNN的理解&#xff0c;基于Pytorch复现了LeNet,AlexNet,ResNet等经典CNN模型&#xff0c;源代码放在GitHub上&#xff0c;地址传送点击此处。项目大纲如下&#xff1a; 文章目录 一、问题描述二、数据集处理…

高等数学(无穷小与无穷大)

目录 一、无穷小 二、无穷大 三、无穷小与无穷大的关系 四、无穷小量的阶的比较 一、无穷小 二、无穷大 三、无穷小与无穷大的关系 四、无穷小量的阶的比较

Elastic Search:构建语义搜索体验

当你逐步熟悉 Elastic 时&#xff0c;你将使用 Elasticsearch Relevance Engine™ (ESRE)&#xff0c;该引擎旨在为 AI 搜索应用程序提供支持。 借助 ESRE&#xff0c;你可以利用一套开发人员工具&#xff0c;包括 Elastic 的文本搜索、向量数据库和我们用于语义搜索的专有转换…

Unity中URP实现水体(水下的扭曲)

文章目录 前言一、使用一张法线纹理&#xff0c;作为水下扭曲的纹理1、在属性面板定义一个纹理&#xff0c;用于传入法线贴图2、在Pass中&#xff0c;定义对应的纹理和采样器3、在常量缓冲区&#xff0c;申明修改 Tilling 和 Offset 的ST4、在顶点着色器&#xff0c;计算得到 应…