【React】脚手架创建项目

文章目录


创建React项目


◼ 创建React项目的命令如下:

​  注意:项目名称不能包含大写字母

​  另外还有更多创建项目的方式,可以参考GitHub的readme

命令:

create-react-app 你的项目名称

◼ 创建完成后,进入对应的目录,就可以将项目跑起来:

yarn start

目录结构分析


我们可以通过VSCode打开项目:

复制代码
test-react
├─ README.md // readme说明文档
├─ package.json // 对整个应用程序的描述:包括应用名称、版本号、一些依赖包、以及项目的启动、打包等等(node管理项目必备文件)
├─ public
│    ├─ favicon.ico // 应用程序顶部的icon图标
│    ├─ index.html // 应用的index.html入口文件
│    ├─ logo192.png // 被在manifest.json中使用
│    ├─ logo512.png // 被在manifest.json中使用
│    ├─ manifest.json // 和Web app配置相关
│    └─ robots.txt // 指定搜索引擎可以或者无法爬取哪些文件
├─ src
│    ├─ App.css // App组件相关的样式
│    ├─ App.js // App组件的代码文件
│    ├─ App.test.js // App组件的测试代码文件
│    ├─ index.css // 全局的样式文件
│    ├─ index.js // 整个应用程序的入口文件
│    ├─ logo.svg // 刚才启动项目,所看到的React图标
│    ├─ serviceWorker.js // 默认帮助我们写好的注册PWA相关的代码
│    └─ setupTests.js // 测试初始化文件
└─ yarn.lock

注意 serviceWorker.js在最新的 "react": "^18.2.0"版本中,没有配置,需要手动添加!!!!


了解PWA


整个目录结构都非常好理解,只是有一个PWA相关的概念:

​  PWA全称Progressive Web App,即渐进式WEB应用;

​  一个 PWA 应用首先是一个网页, 可以通过 Web 技术编写出一个网页应用;

​  随后添加上 App Manifest 和 Service Worker 来实现 PWA 的安装和离线等功能;

​  这种Web存在的形式,我们也称之为是 Web App;

PWA解决了哪些问题呢?

​  可以添加至主屏幕,点击主屏幕图标可以实现启动动画以及隐藏地址栏;

​  实现离线缓存功能,即使用户手机没有网络,依然可以使用一些离线功能;

​  实现了消息推送;

​  等等一系列类似于Native App相关的功能;

更多PWA相关的知识,可以自行去学习更多;

​  https://developer.mozilla.org/zh-CN/docs/Web/Progressive_web_apps


脚手架中的webpack


React脚手架默认是基于Webpack来开发的;

没有在目录结构中看到任何webpack相关的内容?

​  原因是React脚手架将webpack相关的配置隐藏起来了(其实从Vue CLI3开始,也是进行了隐藏);

如果我们希望看到webpack的配置信息?

​  我们可以执行一个package.json文件中的一个脚本:"eject": "react-scripts eject"

​  这个操作是不可逆的,所以在执行过程中会给与我们提示;

​ yarn eject

相关推荐
*星星之火*11 小时前
【大白话 AI 答疑】第6篇 大模型指令微调:instruction/input/output核心解析及案例
服务器·前端·人工智能
北杳同学12 小时前
前端一些用得上的有意思网站
前端·javascript·vue.js·学习
张3蜂12 小时前
CSRF Token:网络应用安全的关键防线——深度解析与实战指南
前端·安全·csrf
Stirner12 小时前
React 史诗级漏洞: SSR Server Action 协议导致服务器远程代码执行
react.js·架构·next.js
IT_陈寒12 小时前
Redis 性能骤降50%?这5个隐藏配置陷阱你可能从未注意过
前端·人工智能·后端
躺着听Jay12 小时前
【1267 - Illegal mix of collations 】mysql报错解决记录
java·linux·前端
Dragon Wu12 小时前
ReactNative Expo 使用总结(基础)
javascript·react native·react.js
真上帝的左手13 小时前
24. 前端-js框架-Electron
前端·javascript·electron
毛发浓密的女猴子13 小时前
Git Pull 策略完全指南:Merge、Rebase、Fast-forward 深度对比
前端
夏小花花13 小时前
<editor> 组件设置样式不生效问题
java·前端·vue.js·xss