[react]5、React脚手架

embedded/2024/12/26 12:04:12/

1、前端脚手架

1、Vue的脚手架:vue-cli
2、Angular的脚手架:angular-cli
3、React的脚手架:create-react-app
目前这些脚手架都是使用node编写的,并且都是基于webpack的,需要在电脑上安装node环境
脚手架的作用是帮助我们生成一个通用的目录结构,并且已经将我们所需的工程环境配置好。

2、node包管理工具

1、npm
全称 Node Package Manager,即“node包管理器”,在node安装时自动安装npm工具
作用:能够帮助我们管理一下依赖的工具包(比如react、react-dom、axios、babel、webpack等等)。
2、yarn
Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具;
Yarn 是为了弥补 npm 的一些缺陷而出现的;
React脚手架默认也是使用yarn;
yarn安装npm install -g yarn
3、cnpm
使用国内镜像的npm
npm install -g cnpm --registry=https://registry.npm.taobao.org
4、react脚手架
npm install -g create-react-app

3、创建React项目

1、使用命令创建项目
create-react-app 项目名称 (项目名称小写)
2、工程目录介绍
README.md // readm说明文档
package.json // 对整个应用程序的描述:包括应用名称、版本号、一些依赖、以及项目的启动、打包等等
📂 public:
favicon.icon:浏览器页面tab图标
index.html:页面入口
robots.txt:设置爬虫规则,规定网站是否可以被爬虫
manifest.js:PWA
📂src:
App.css:当前app的样式文件
App.js:当前页面展示的内容
App.test.js:测试用例的书写
index.css:全局样式
index.js:当前React代码入口
logo.svg:动画图片
setupTest.js:测试的初始化,导入包
reportWebVitals.js:提供各种质量信号的统一指南,可以获取三个关键指标(CLS、FID、LCP)和两个辅助指标(FCP、TTFB)。

react目录

4、PWA

PWA全称Progressive Web App,即渐进式WEB应用
1、一个 PWA 应用首先是一个网页, 可以通过 Web 技术编写出一个网页应用
2、随后添加上 App Manifest 来实现 PWA 的安装和离线等功能,这种Web存在的形式,称之为Web App
3、可以添加至主屏幕,点击主屏幕图标可以实现启动动画以及隐藏地址栏
4、实现离线缓存功能,即使用户手机没有网络,依然可以使用一些离线功能
5、实现了消息推送

5、webpack

1、概念:webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler);
2、当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块, 然后将所有这些模块打包成一个或多个 bundle;
3、React脚手架将webpack相关的配置隐藏起来了,如果查看需要使用package.json文件中的一个脚本:"eject":"react-scripts eject",这个操作不可逆,命令格式如下
yarn eject

webpack打包过程

执行命令后生成的文件夹目录
config文件夹

webpack.config.js
配置内容:loader、plugin
entry:为入口,output:为出口 ...
4、通过脚手架创建的工程需要通过import引入node_modules中相关代码文件,node_modules中相关代码文件都是通过模块化 module.exports导出使用,
代码中只用的导出和导入方式使用 import和export
ES6语法相关导入导出代码如下

// utils.js
export default function sum(a, b) {return a + b;
}
export function sum2(a, b) {return a + b;
}
// index.js 导入方式的区别
import sum, { sum2 } from './utils'


喜欢的朋友记得点赞、收藏、关注哦!!!


http://www.ppmy.cn/embedded/148887.html

相关文章

微信小程序性能优化

性能优化是任何应用开发中的重要组成部分,尤其是在移动环境中。对于微信小程序而言,随着用户量的增加和应用功能的丰富,性能优化显得尤为关键。良好的性能不仅提升用户体验,还能增加用户留存率和应用的使用频率。我们将探讨如何在…

12寸半导体厂等保安全的设计思路

等级保护(等保)二级和三级的主要区别在于安全要求的严格程度、所需部署的安全措施和设备、以及对安全事件响应和处理的能力。以下是等保二级和三级之间的一些关键区别: 一、 安全要求严格程度: - 等保二级:适用于需要较高安全保护的信息系统,要求能够防范轻微的恶意攻击…

数组类算法 - 合集

************* C topics include: 数组类算法 - LeetBook - 力扣(LeetCode)全球极客挚爱的技术成长平台 283. 移动零 - 力扣(LeetCode) 27. 移除元素 - 力扣(LeetCode) 26. 删除有序数组中…

LLaMA-Factory(一)环境配置及包下载

LLaMA-Factory(一)环境配置及包下载 本机配置1. git下载2.创建虚拟环境3. 下载官方包内依赖4. 下载bitsandbytes5. 启动项目6. 可能出现问题1:pip install 出现 error: subprocess-exited-with-error 错误7. 可能出现问题2: ModuleNotFoundEr…

记录jvm进程号

日常开发中,相信大家会经常用到这么一行命令: ps -ef | grep xxx.jar | grep -v grep | awk {print $2} | xargs -r kill -9 就是杀掉xxx相关的进程,然后启动,当然也还有其他的方式可以实现类似的功能,我就不列举了&…

重温设计模式--5、职责链模式

文章目录 职责链模式的详细介绍C 代码示例C示例代码2 职责链模式的详细介绍 定义与概念 职责链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它旨在将请求的发送者和多个接收者解耦,让多个对象都有机会处理请求&am…

Leetcode 695 Max Area of Island

题意 给定一个二维矩阵,矩阵中包含0和1,所有相连的1被视为一个岛屿,求这些所有岛屿的最大区域是多少 题目链接 https://leetcode.com/problems/max-area-of-island/description/ 题解 遍历二维矩阵,当遇到没有被访问过的1时&…

【Linux进程】进程信号

目录 1. 信号 2. 信号的产生 2.1 终端按键 自定义信号处理 2.2 系统调用 kill raise abort 2.3 硬件异常 2.4 软件条件产生 思考 总结 1. 信号 在Linux中存在着一种通信的方式,与管道和System V IPC不同,更准确的说是一种通知机制,…