快速开始React开发(一)

快速开始React开发(一)

React是一个JavaScript库,用于构建交互式网站,并且能够快捷创建SPA(Single Page App),其组件化的思想也是被一再传播,无论是普通的Web网站还是嵌入移动端交互都常见到其身影,那么,搞起~~

1、快速创建项目(CRA)

CRA (Create React App) 是 React 官方提供的一个脚手架工具,用于快速创建和搭建 React 项目

在此之前,我们先配置一下马上需要用到的node环境,nvm也推荐大家看一下,考虑到可能需要不同node版本管理,这里不过多介绍,提供传送门,回来时候的状态应该是nodenpm是能用的了

Node.js安装教程(2025)

(零基础)Node包管理器(nvm)安装及nodejs安装教程(2025年版)

接下来,什么都不需要做,运行这行代码就可以生成一个完整的项目

npx create-react-app my-app

这里我打算使用TypeScript作为主要的开发语言,添加--template参数指定模板

npx create-react-app my-app --template typescript

啊哦,别慌,小状况,提示需要升级了,那就妥协一下
在这里插入图片描述
升级到最新的create-react-app

npm uninstall -g create-react-app
npm install -g create-react-app@latest

好了,升到5.1.0,满足要求,Let’s try again!
在这里插入图片描述

耐心等待一小会儿,看到这个就说明项目创建成功啦,我们可以用下面红框的命令进入项目,并运行一下看看
在这里插入图片描述

此时,会需要选择一下浏览器,页面自动跳转,“小”功告成!
在这里插入图片描述

2、项目结构

使用Trae打开项目目录,肉眼可见这几项
在这里插入图片描述
我们简要看看每一项的作用:

  • node_modules/
    • 存放项目所有的依赖包
    • 通过 npm/yarn 安装的包都在这里
    • 注:不需要提交到代码仓库(运行命令就能下)
  • public/
    • 存放静态资源文件
    • 包含主页面模板 index.html
    • 存放网站图标、manifest等公共资源
  • src/
    • 项目源代码目录
    • 包含入口文件和主要组件
    • 开发主要在这个目录下进行
  • package.json:项目配置文件
  • README.md:项目说明文档
  • .gitignore:Git忽略配置
  • package-lock.json:依赖版本锁定文件
  • tsconfig.json:TypeScript 编译和类型检查的配置文件(ts项目特有)

以上大概有些印象即可,主要开发用到比较多的还是src/,这里将会不断随着业务的复杂程度扩充,之后则需要更加细致进行分类管理,比方说下面这样:

my-app/
├── src/
│   ├── api/                 # API 接口管理
│   │   ├── user.ts         # 用户相关接口
│   │   └── index.ts        # API 统一导出
│   │
│   ├── assets/             # 静态资源
│   │   ├── images/         # 图片资源
│   │   ├── styles/         # 全局样式
│   │   └── fonts/          # 字体文件
│   │
│   ├── components/         # 公共组件
│   │   ├── Button/
│   │   │   ├── index.tsx
│   │   │   └── style.module.scss
│   │   └── index.ts
│   │
│   ├── constants/          # 常量配置
│   │   ├── api.ts         # 接口地址
│   │   └── enum.ts        # 枚举值
│   │
│   ├── hooks/             # 自定义 Hooks
│   │   └── useAuth.ts
│   │
│   ├── layouts/           # 布局组件
│   │   └── MainLayout.tsx
│   │
│   ├── pages/            # 页面组件
│   │   └── Home/
│   │       ├── components/  # 页面级组件
│   │       ├── index.tsx
│   │       └── style.module.scss
│   │
│   ├── store/            # 状态管理
│   │   ├── modules/      # 模块分类
│   │   └── index.ts
│   │
│   ├── types/            # TypeScript 类型
│   │   └── user.d.ts
│   │
│   ├── utils/            # 工具函数
│   │   ├── request.ts    # 请求封装
│   │   └── storage.ts    # 存储相关
│   │
│   ├── App.tsx
│   └── index.tsx
│
├── public/              # 静态公共资源
├── tests/              # 测试文件目录
├── package.json
└── tsconfig.json

一点点开始吧。。。

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

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

相关文章

安装nvidia-docker 和设置docker 镜像源

Installing the NVIDIA Container Toolkit — NVIDIA Container Toolkit 可以先参考官方文档 下面的操作具体和官方文档类似 curl -fsSL https://mirrors.ustc.edu.cn/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-ke…

C++第二节:C/C++内存管理

1.C/C内存分布 【说明】 栈又叫堆栈--非静态局部变量/函数参数/返回值等等,栈是向下增长的。内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可使用系统接口创建共享共享内存,做进程间通信。堆用于程序运行时动态内存分…

rust编程实战:实现3d粒子渲染wasm

源码 纯js实现 fps: wasm实现 通过对比可以看出来 wasm 实现的计算比纯js刷新相对稳定。

开放鸿蒙OpenHarmony 5.0.0 Release 兼容性测试实战经验分享

OpenHarmony 5.0版本的发布时间是2024年12月20日至21日。这个版本带来了许多新特性和改进。现在5.0出了两个release 版本,分别是5.0.0和5.0.1。 就在5.0版本发布不到2周的时间内,2025年01月01日起,不支持新产品基于老分支(OpenHar…

deepseek在pycharm 中的配置和简单应用

对于最常用的调试python脚本开发环境pycharm,如何接入deepseek是我们窥探ai代码编写的第一步,熟悉起来总没坏处。 1、官网安装pycharm社区版(免费),如果需要安装专业版,需要另外找破解码。 2、安装Ollama…

23种设计模式一览【设计模式】

文章目录 前言一、创建型模式(Creational Patterns)二、结构型模式(Structural Patterns)三、行为型模式(Behavioral Patterns) 前言 设计模式是软件工程中用来解决特定问题的一组解决方案。它们是经过验证…

spring boot整合flyway实现数据的动态维护

1、简单介绍一下flyway Flyway 是一款开源的数据库版本控制工具,主要用于管理数据库结构的变更(如创建表、修改字段、插入数据等)。它通过跟踪和执行版本化的迁移脚本,帮助团队实现数据库变更的自动化。接下来简单介绍一下flyway…

致远电子三合一8路串口服务器

ZLG致远电子全新推出国产化透传型三合一8路串口服务器,让用户轻松实现串口信号与以太网的无缝数据交互。性能强悍,等你来评,还有机会获得新年第一份心意! GCOM88-2NET-P硬件速览 国产高性能816MHz处理器; 2路10/100M自…

20250304解决在飞凌的OK3588-C的Linux R4下解决使用gstreamer保存的mp4打不开

sync poweroff rootok3588:/# sync rootok3588:/# sync rootok3588:/# cd 107 rootok3588:/107# ls -l total 0 rootok3588:/107# sync rootok3588:/107# poweroff 20250304解决在飞凌的OK3588-C的Linux R4下解决使用gstreamer保存的mp4打不开 2025/3/4 10:58 缘起&#xff1a…

安路FPGA移植Cortex-M0内核

本文是关于基于安路FPGA EG4S20BG256移植Cortex M0内核的笔记。硬件平台使用硬木课堂的安路核心板,软件使用安路的TD5.6.2和keil5。(博主刚学FPGA不久,文中有不足之处请帮忙指出) 在移植之前,博主看了网上很多的文章、…

STM32——串口通信 UART

一、基础配置 Universal Asynchronous Receiver Transmitter 异步,串行,全双工 TTL电平 :高电平1 低电平0 帧格式: 起始位1bit 数据位8bit 校验位1bit 终止位1bit NVIC Settings一栏使能接受中断。 之前有设置LCD,…

flink集成tidb cdc

Flink TiDB CDC 详解 1. TiDB CDC 简介 1.1 TiDB CDC 的核心概念 TiDB CDC 是 TiDB 提供的变更数据捕获工具,能够实时捕获 TiDB 集群中的数据变更(如 INSERT、UPDATE、DELETE 操作),并将这些变更以事件流的形式输出。TiDB CDC 的…

DeepSeek×博云AIOS:突破算力桎梏,开启AI普惠新纪元

背景 在全球人工智能技术高速迭代的背景下,算力成本高企、异构资源适配复杂、模型部署效率低下等问题,始终是制约企业AI规模化应用的关键。 DeepSeek以创新技术直击产业痛点,而博云先进算力管理平台AIOS的全面适配,则为这一技术…

ArcGIS Pro建库中常用公式的应用与技巧

在当今数字化的时代,地理信息系统(GIS)在各个领域都发挥着至关重要的作用。 ArcGIS Pro作为一款功能强大的GIS软件,为用户提供了丰富的工具和功能,使得数据处理、地图制作和空间分析变得更加高效和便捷。 本文将为您…

C++入门基础

文章目录 C核心特性详解(基础增强版)一、第一个C程序:Hello World完整代码解析新手常见问题 二、命名空间(详解版)1. 为什么需要命名空间?2. 命名空间使用场景3. 嵌套命名空间4. 匿名命名空间 三、输入输出…

探秘基带算法:从原理到5G时代的通信变革【三】Turbo 编解码

文章目录 2.2 Turbo 编解码2.2.1 基本概念与系统构成2.2.2 编码过程分步解析交织器递归系统卷积编码器复接器总结 2.2.3 译码算法分类与原理Turbo码的强大主要来源于其解码器理论基础解码过程详解交织与解交织译码算法总结 2.2.4 Turbo码的应用场景无线通信卫星通信深空通信 2.…

一键无损放大视频,让老旧画面重焕新生!

打工人们你们好!这里是摸鱼 特供版~ 嘿,朋友们!在数字时代,视频已经成为我们生活中不可或缺的一部分。无论是珍贵的家庭录像,还是老旧的影视素材,我们都希望能以高清画质重温那些美好瞬间。但很多时候&…

build gcc

1,下载源码 wget https://gcc.gnu.org/pub/gcc/infrastructure/mpfr-4.1.0.tar.bz2 wget https://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2 wget https://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.2.1.tar.gz git clone --mirror https://github…

《用Python+PyGame开发双人生存游戏!源码解析+完整开发思路分享》

导语​ "你是否想过用Python开发一款可玩性高的双人合作游戏?本文将分享如何从零开始实现一款类《吸血鬼幸存者》的生存射击游戏!包含完整源码解析、角色系统设计、敌人AI逻辑等核心技术点,文末提供完整代码包下载!" 哈…

AutoGen学习笔记系列(一)Tutorial - Model

这个系列文章记录了学习微软 AutoGen 的过程,与 smolagents 学习笔记系列一样,仍然以官方教程自己的理解为主线,中间可能穿插几个番外支线的形式写博客。 【注意】:在阅读这篇文章之前需要确保已经按照其 Installation 小节完成必…