当前位置: 首页 > article >正文

React---day4

3、React脚手架

生成的脚手架的目录结构

在这里插入图片描述

什么是PWA

  • PWA全称Progressive Web App,即渐进式WEB应用;
  • 一个 PWA 应用首先是一个网页, 可以通过 Web 技术编写出一个网页应用;
  • 随后添加上 App Manifest 和 Service Worker 来实现 PWA 的安装和离线等功能;
  • 这种Web存在的形式,我们也称之为是 Web App;

PWA解决了什么问题

  • 可以添加至主屏幕,点击主屏幕图标可以实现启动动画以及隐藏地址栏;
  • 实现离线缓存功能,即使用户手机没有网络,依然可以使用一些离线功能;
  • 实现了消息推送;
  • 等等一系列类似于Native App相关的功能;

什么是webpack

webpack 是一个现代 JavaScript 应用程序的 静态模块打包器(module bundler) ;当 webpack 处理应用程序时,它会递归地构建一个 依赖关系图(dependency graph) ,其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle

生成一个自己的react项目:

新建终端输入以下命令进行全局安装:

npm install -g create-react-app

切换想创建项目的目录,在终端输入如下命令:

create-react-app 项目名称
  • npm start:执行开发模式,运行该项目

  • npm run build:执行生产模式,打包该项目

  • npm test:执行测试模式,测试该项目

  • npm run eject:将webpack相关文件暴露出来(React设置webpack文件隐藏,为了防止我们修改其文件导致项目不能运行,执行该命令,将隐藏文件显示且不能再将其隐藏了!!!)

默认是创建React+JS的项目,如果想创建React+TypeScript的项目,执行如下命令即可。

create-react-app 项目名称 --template typescript
cd 项目名
npm start

我发现问的react版本是19,和老师的有很多不一样,看来后面就要ai+文档辅助我了

清理一下目录:

在这里插入图片描述

index.js:

import React from "react";
import { createRoot } from 'react-dom/client';
// 由于文件名大小写不一致问题,修正导入路径以匹配实际文件名
import { App } from "./App";const root = createRoot(document.getElementById('root'));
root.render(<App />);

App.js:

import React from "react";
export class App extends React.Component{constructor(){super();this.state =  {counter : 0}}render(){return (<div><h2>当前计数为{this.state.counter}</h2></div>)}
}

–template typescript
cd 项目名
npm start


我发现问的react版本是19,和老师的有很多不一样,看来后面就要ai+文档辅助我了**清理一下目录:**[外链图片转存中...(img-F4RSmgdd-1748488991253)]**index.js:**

import React from “react”;
import { createRoot } from ‘react-dom/client’;
// 由于文件名大小写不一致问题,修正导入路径以匹配实际文件名
import { App } from “./App”;

const root = createRoot(document.getElementById(‘root’));
root.render();


**App.js:**

import React from “react”;
export class App extends React.Component{
constructor(){
super();

    this.state =  {counter : 0}
}
render(){return (<div><h2>当前计数为{this.state.counter}</h2></div>)
}

}


http://www.lryc.cn/news/2391944.html

相关文章:

  • ArkUI(方舟UI框架)介绍
  • 【Bug】定时任务中 Jpa Save 方法失效
  • 英语科研词汇现象及语言演变探讨
  • C# 打印PDF的常用方法
  • 若依微服务的定制化服务
  • Axios 如何通过配置实现通过接口请求下载文件
  • 小表驱动大表更快吗,不是
  • 20250529-C#知识:运算符重载
  • 【HW系列】—目录扫描、口令爆破、远程RCE流量特征
  • 如何在WordPress网站中添加相册/画廊
  • 【NLP基础知识系列课程-Tokenizer的前世今生第一课】Tokenizer 是什么?为什么重要?
  • Codeforces Round 1025 (Div. 2)
  • Ubuntu20.04操作系统ssh开启oot账户登录
  • 类欧几里得算法(floor_sum)
  • 每日Prompt:卵石拼画
  • 湖北理元理律师事务所观察:债务优化如何成为民生安全网
  • AI时代新词-机器学习即服务(MLaaS)
  • 设计模式简述(二十)规格模式
  • 符合Python风格的对象(覆盖类属性)
  • 题目 3314: 蓝桥杯2025年第十六届省赛真题-魔法科考试
  • Java八股-Java优缺点,跨平台,jdk、jre、jvm关系,解释和编译
  • linux 内核态和用户态定时器函数使用总结
  • 支持selenium的chrome driver更新到136.0.7103.113
  • 硬件服务器基础
  • LVS的DR模式部署
  • TRS收益互换平台开发实践:从需求分析到系统实现
  • 测试Bug篇
  • 【Linux系统移植】Cortex-A8 Linux系统移植(超详细)
  • 第十五届蓝桥杯大赛软件赛国赛Python 大学 C 组试做【本期题单: 设置密码、栈】
  • 报错SvelteKitError: Not found: /.well-known/appspecific/com.chrome.devtools.json