react开发环境搭建

news2024/11/16 11:40:21

在这里插入图片描述

文章目录

    • 准备工作
    • 创建 React 项目
        • 使用 create-react-app 创建 React 项目
        • 使用 Vite 创建 React 项目
        • 启动项目效果
        • 安装出现的情况
    • react项目文件讲解
        • 1. 项目根目录
        • 2. 其他可能的目录和文件
        • 3. 配置文件


准备工作

Node.js 安装方法

方式一:使用 NVM 安装 Node.js

  • NVM 下载地址:nvm-windows
  • Node.js 包下载地址:Node.js Releases
  • 优点:NVM 允许灵活切换 Node.js 版本,适合需要管理多个版本的情况。

方式二:直接安装 Node.js

  • Node.js 下载地址:Node.js 官方下载
  • 优点:直接安装更简单,适合不需要频繁切换版本的用户。

创建 React 项目

要创建一个新的 React 项目,可以使用以下几种方法。以下是使用 create-react-app 工具的标准步骤,这是最常用的方法:

使用 create-react-app 创建 React 项目
  1. 确保你已安装 Node.js 和 npm
    你可以通过以下命令检查是否安装了 Node.js 和 npm:

    node -v
    npm -v
    

    如果没有安装,请先安装 Node.js(包含 npm)。

  2. 安装 create-react-app
    你可以全局安装 create-react-app 工具(可选):

    npm install -g create-react-app
    
  3. 创建一个新的 React 项目
    使用 create-react-app 创建一个新的项目,替换 my-app 为你想要的项目名称:

    npx create-react-app my-app
    

    npx 是 npm 5.2.0 及更高版本随附的工具,用于运行命令行工具而无需全局安装。

  4. 进入项目目录
    进入你创建的项目文件夹:

    cd my-app
    
  5. 启动开发服务器
    启动项目的开发服务器:

    npm start
    

    默认情况下,开发服务器会在 http://localhost:3000 运行。

  6. 打开浏览器查看项目
    你可以在浏览器中访问 http://localhost:3000,你会看到 create-react-app 默认生成的欢迎页面。

使用 Vite 创建 React 项目

作为另一种现代的选择,你还可以使用 Vite 创建 React 项目,它通常具有更快的启动时间和构建速度:

  1. 安装 Vite
    使用以下命令创建新项目,替换 my-app 为你的项目名称:

    npm create vite@latest my-app --template react
    
  2. 进入项目目录

    cd my-app
    
  3. 安装依赖

    npm install
    
  4. 启动开发服务器

    npm run dev
    

    默认情况下,开发服务器会在 http://localhost:5173 运行。

选择 create-react-appVite 取决于你的项目需求和个人偏好。两者都是创建 React 项目的有效工具。

启动项目效果

安装出现的情况
Need to install the following packages:
  create-react-app@5.0.1
Ok to proceed? (y)


输入y即可

react项目文件讲解

在一个使用 create-react-app 工具创建的 React 项目中,默认的项目结构包含了一些标准的文件和目录。以下是对这些文件和目录的详细讲解:

1. 项目根目录
  • node_modules/
    存放项目依赖的第三方库和模块。这个目录是由 npm 自动生成的,不需要手动管理。

  • public/
    存放公开静态资源的目录。该目录下的文件会被直接暴露在生产环境中,不会经过 Webpack 处理。

    • index.html
      这是单页面应用的根 HTML 文件。React 应用会被挂载到这个文件中的 div 元素(通常是 id="root")。
  • src/
    存放项目源代码的目录。这是你主要的开发目录。

    • index.js
      应用的入口文件,React 应用会在这里被渲染到 index.html 文件中的 root 元素中。
    • App.js
      这是一个示例组件,作为应用的主要组件。通常,这个文件会包含应用的主要结构和逻辑。
    • App.css
      App.js 相关的 CSS 文件,用于样式化 App 组件。
    • index.css
      全局样式文件,应用于整个应用的样式。
    • logo.svg
      默认的 React 图标 SVG 文件,通常用于示例和测试。
    • serviceWorker.js
      一个用于注册服务工作线程的文件(在创建 PWA 时可以使用)。在最新版本的 create-react-app 中,这个文件可能被移除或不推荐使用。

      这些文件都可以移除或不推荐使用
  • .gitignore
    用于指定在使用 Git 版本控制时,哪些文件和目录应该被忽略。例如,node_modules/build/ 文件夹。

  • package.json
    项目的配置文件,包含项目的依赖、脚本、项目元数据等。你可以在这里定义项目的各种设置和依赖。

  • package-lock.json
    锁定依赖版本的文件。它确保在不同的机器上安装的依赖版本一致。

  • README.md
    项目的说明文件。你可以在这里添加项目的概述、使用说明、安装步骤等。

  • yarn.lock
    如果你使用 Yarn 作为包管理器,这个文件会被创建,功能类似于 package-lock.json,用于锁定依赖版本。

2. 其他可能的目录和文件
  • src/components/
    通常你会创建这个目录来存放你的 React 组件文件。每个组件通常会有一个 JavaScript/TypeScript 文件和一个对应的 CSS 文件。

  • src/assets/
    用于存放静态资源,如图片、字体等。

  • src/utils/
    用于存放工具函数或帮助类文件。

  • src/hooks/
    用于存放自定义的 React Hooks。

3. 配置文件
  • jsconfig.jsontsconfig.json
    如果你使用 TypeScript 或想要更好的 JavaScript 代码提示,可能会看到这些配置文件。

  • eslint.json
    如果项目使用了 ESLint 进行代码检查,可能会有这个配置文件,用于定义代码检查规则。

  • prettier.config.js
    如果使用 Prettier 进行代码格式化,可能会有这个配置文件。

您好,我是肥晨。
欢迎关注我获取前端学习资源,日常分享技术变革,生存法则;行业内幕,洞察先机。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

制作一个rabbitmq-sdk以及rabbitmq消费者实现定时上下线功能

目录结构 pom.xml <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">&l…

力扣中等 33.搜索旋转排序数组

文章目录 题目介绍题解 题目介绍 题解 首先用 153. 寻找旋转排序数组中的最小值 的方法&#xff0c;找到 nums 的最小值的下标 i。 然后分类讨论&#xff1a; 如果 target>nums[n−1]&#xff0c;在 [0,i−1] 中二分查找 target。 如果 target≤nums[n−1]&#xff0c;那…

利士策分享,家庭内耗:隐形的风暴,无声的侵蚀

利士策分享&#xff0c;家庭内耗&#xff1a;隐形的风暴&#xff0c;无声的侵蚀 在温馨的灯光下&#xff0c;家本应是我们心灵的港湾&#xff0c;是疲惫时最坚实的依靠。 然而&#xff0c;当家庭内部出现裂痕&#xff0c;无形的内耗便如同冬日里的寒风&#xff0c;悄无声息地…

11年408考研真题解析-计算机网络

第一题&#xff1a; 解析&#xff1a;网络层虚电路服务和数据报服务 传输服务只有&#xff1a;有连接可靠和无连接不可靠两种&#xff0c;直接排除BC。 网络层指的是IP协议&#xff0c;由图二可知&#xff1a;运输层&#xff0c;网际层&#xff0c;网络接口层唯一有连接可靠的协…

Spark MLlib实践指南:从大数据推荐系统到客户流失预测的全流程建模

问题一 背景&#xff1a; 本题目基于用户数据&#xff0c;将据数据切分为训练集和验证集&#xff0c;供建模使用。训练集与测试集切分比例为8:2。 数据说明&#xff1a; capter5_2ml.csv中每列数据分别为userId , movieId , rating , timestamp。 数据&#xff1a; capte…

详解 Linux 系统下的进程(下)

目录 一.进程控制 1.进程创建 a.Linux 系统中&#xff0c;如何创建一个进程&#xff1f; b.进程创建成功后&#xff0c;Linux 底层会为其做些什么&#xff1f; 2.进程终止 a.什么是进程终止&#xff1f; b.进程终止的方法有哪些&#xff1f; c.exit 与 _exit的区别 3.…

通过logstash同步elasticsearch数据

1 概述 logstash是一个对数据进行抽取、转换、输出的工具&#xff0c;能对接多种数据源和目标数据。本文介绍通过它来同步elasticsearch的数据。 2 环境 实验仅仅需要一台logstash机器和两台elasticsearch机器&#xff08;elasticsearch v7.1.0&#xff09;。本文用docker来模…

NLP 序列标注任务核心梳理

句向量标注 用 bert 生成句向量用 lstm 或 bert 承接 bert 的输出&#xff0c;保证模型可以学习到内容的连续性。此时 lstm 输入形状为&#xff1a; pooled_output.unsqueeze(0) (1, num_sentence, vector_size) 应用场景 词性标注句法分析 文本加标点 相当于粗粒度的分词任…

实时同步 解决存储问题 sersync

目录 1.sersync服务 2.sersync同步整体架构 ​编辑 3.rsync服务准备 4.sersync部署使用 5.修改配置文件 6.启动sersync 7.接入nfs服务 8.联调测试 1.sersync服务 sersync服务其实就是由两个服务组成一个是inotify服务和rsync服务组成 inotify服务用来监控那个…

Linux 文件系统(上)

目录 一.预备阶段 1.认识文件 2.OS对内存文件的管理 3.C库函数和系统调用接口 a.C库函数——fopen b.系统调用接口——open 二.理解文件描述符 1.一张图&#xff0c;详解文件描述符的由来 2.fd的分配规则 3.从fd的角度理解FILE 三.重定向和缓冲区 1.前置知识——理解…

网络安全-CSRF

一、环境 DVWA网上找 二、简单介绍 这个漏洞很早之前了&#xff0c;但是为了避免大家在面试等等的时候被问到&#xff0c;这里给大家温习一下 CSRF全程是没有黑客参与的&#xff0c;全程都是用户自己在操作 三、环境演练 这个是DVWA的提交表单页面&#xff0c;我这里伪造…

【2020工业图像异常检测文献】PaDiM

PaDiM: a Patch Distribution Modeling Framework for Anomaly Detection and Localization 1、Background 在单类学习&#xff08;仅使用正常数据&#xff08;即“单一类”&#xff09;来训练模型&#xff09;环境中的异常检测和定位任务方法中&#xff0c;要么需要深度神经网…

结合HashMap与Java 8的Function和Optional消除ifelse判断

shigen坚持更新文章的博客写手&#xff0c;记录成长&#xff0c;分享认知&#xff0c;留住感动。个人IP&#xff1a;shigen 在文章的开头我们先从这些场景进入本期的问题&#xff1a; 业务代码中各种if-else有遇到过吗&#xff0c;有什么好的优化方式&#xff1b;java8出来这么…

鸿蒙开发(NEXT/API 12)【跨设备互通特性简介】协同服务

跨设备互通提供跨设备的相机、扫描、图库访问能力&#xff0c;平板或2in1设备可以调用手机的相机、扫描、图库等功能。 说明 本章节以拍照为例展开介绍&#xff0c;扫描、图库功能的使用与拍照类似。 用户在平板或2in1设备上使用富文本类编辑应用&#xff08;如&#xff1a;…

学习 git 命令行的简单操作, 能够将代码上传到 Gitee 上

首先登录自己的gitee并创建好仓库 将仓库与Linux终端做链接 比如说我这里已经创建好了一个我的Linux学习仓库 点开克隆/下载&#xff1a; 在你的终端中粘贴上图中1中的指令 此时他会让你输入你的用户名和密码&#xff0c;用户名就是上图中3中Username for ....中后面你的一个…

预付费计量系统实体模型

1. 预付费计量系统实体模型 A generic entity model for electricity payment metering systems is shown in Figure 2. Although it provides a limited perspective, it does serve to convey certain essential concepts. 关于电子式预付费电表系统的实体模型见图 2…

李宏毅结构化学习 03

文章目录 一、Sequence Labeling 问题概述二、Hidden Markov Model(HMM)三、Conditional Random Field(CRF)四、Structured Perceptron/SVM五、Towards Deep Learning 一、Sequence Labeling 问题概述 二、Hidden Markov Model(HMM) 上图 training data 中的黑色字为x&#xff…

如何备份SqlServer数据库

第一步&#xff1a;登录你要备份的服务器数据库ssms 第二步&#xff1a;选择你要备份的数据库 此处已PZ-SJCS 数据库为例 右键该数据库-->任务-->备份 第三步&#xff1a;选择你备份的类型备份组件等&#xff0c;目标磁盘 &#xff0c;点击添加选择将你备份的文件备份那…

全面详尽的 PHP 环境搭建教程

目录 目录 PHP 环境搭建概述 在 Windows 上搭建 PHP 环境 使用集成环境 XAMPP 安装步骤 配置和测试 常用配置 手动安装 Apache、PHP 和 MySQL 安装 Apache 安装 PHP 安装 MySQL 配置 PHP 连接 MySQL 在 Linux 上搭建 PHP 环境 使用 LAMP 方案 安装 Apache 安装 …

【25.6】C++智能交友系统

常见错误总结 const-1 如下代码会报错 原因如下&#xff1a; man是一个const修饰的对象&#xff0c;即man不能修改任何内容&#xff0c;但是man所调用的play函数只是一个普通的函数&#xff0c;所以出现了报错。我们需要在play函数中加上const修饰&#xff0c;或者删除man对…