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

React搭建应用

React 项目创建和运行页面并不复杂,通常使用官方推荐的 Create React App 工具可以快速上手。我会为你介绍主要步骤,并用一个表格汇总常用的 npm 脚本命令。

命令功能描述备注
npm start启动开发服务器,通常在 http://localhost:3000修改代码会自动刷新页面(热重载)
npm run build生成用于生产环境的优化构建文件(在 build 目录)需部署到服务器才能正常访问
npm test启动测试运行器
npm run eject暴露所有配置文件(不可逆除非你非常熟悉构建工具且确实需要深度定制,否则慎用

🛠️ 创建 React 项目

创建 React 项目最推荐的方式是使用 Create React App (CRA),它帮你处理了所有繁琐的 Webpack、Babel 等开发环境的配置。

  1. 确保有 Node.js 环境:你需要先安装 Node.js(会自带 npm),建议选择 LTS 版本。安装后可以在终端(命令行)输入 node -v 和 npm -v 来检查是否安装成功及查看版本。

  2. 执行创建命令:打开终端,进入你希望创建项目的目录,然后运行:

    bash

    npx create-react-app my-react-app
    • npx 会临时安装 create-react-app 并用它来创建项目,完成后会自动清理,无需全局安装。

    • my-react-app 是你的项目名称,可以自定义。

    • 这个过程会自动安装所有必需的依赖,可能需要一些时间。

  3. 了解项目结构:项目创建成功后,主要会包含以下目录和文件:

    • node_modules/: 项目依赖包存放目录。

    • public/: 存放静态资源,如 index.html(页面模板)、favicon.ico(网站图标)等。

    • src/主要工作目录,你的组件和样式文件大多放在这里。

      • App.js根组件,也是主要的页面组件。

      • index.js项目入口文件,它会将 App 组件渲染到 public/index.html 中一个 id 为 "root" 的 DOM 节点上。

    • package.json: 记录项目信息、依赖和脚本命令。

▶️ 运行 React 页面

  1. 启动开发服务器:在终端中,进入你的项目目录(例如 cd my-react-app),然后运行:

    bash

    npm start

    命令执行后,CRA 会自动在浏览器中打开 http://localhost:3000 来预览你的应用。如果端口 3000 被占用,它会询问你是否使用另一个端口。

  2. 修改页面内容

    • 用代码编辑器打开 src/App.js 文件。

    • 你会看到一个默认的函数组件,它返回一些类似 HTML 的 JSX 代码。修改这些 JSX 并保存文件。

    • 浏览器中的页面会自动刷新以显示最新的更改。

📦 构建与部署

当你完成开发,需要将项目发布到线上时:

  1. 执行构建:在项目根目录运行:

    bash

    npm run build

    这会在项目根目录生成一个 build 文件夹,里面包含了优化、压缩后的静态文件(HTML, CSS, JS, 图片等)。

  2. 部署:将 build 文件夹里的全部内容上传到你的静态网站托管服务Web 服务器的指定目录即可。

💡 下一步探索

掌握了创建和运行,你可以继续探索:

  • 组件化开发:将 UI 拆分成一个个可复用的组件。

  • JSX 语法:在 JavaScript 中编写类似 HTML 的结构。

  • 状态管理:使用 useState Hook 管理组件内部数据。

  • 路由:使用 React Router 为应用添加多个页面。

  • 样式:学习如何使用 CSS Modules、Styled-components 或 UI 库(如 Ant Design, Material-UI)来美化你的应用。

希望这些信息能帮助你顺利开始 React 开发之旅。

http://www.dtcms.com/a/393855.html

相关文章:

  • NVIDIA Dynamo 推理框架
  • 校园网即点即连——校园网自动登录的思路流程
  • C# 设计模式|单例模式全攻略:从基础到高级实现与防御
  • SQL 字符串函数高频考点:LIKE 和 SUBSTRING 的区别
  • 法律文档智能分析系统:NLP+法律知识库的技术实现方案
  • Flutter_学习记录_实现商品详情页Tab点击跳转对应锚点的demo
  • 【大语言模型】作为可微分搜索索引的Transformer记忆体
  • NLP---自然语言处理
  • 多条件查询中的日期交互指南:从前端到后端的顺畅协作
  • 系分论文《论人工智能在网络安全态势感知系统中的分析与设计》
  • 【Kubernetes】(六)Service
  • Coze源码分析-资源库-删除工作流-后端源码-核心技术与总结
  • vue Ai 流试回答实现打字效果
  • 【架构】面向对象六大设计原则
  • ✅ 基于OpenCV与HyperLPR的车牌识别系统 PyQt5可视化 支持多种输入 深度学习毕业设计
  • 深度学习在计算机视觉中的最新进展:范式转变与前沿探索
  • 本地免费使用网页表格控件websheet
  • Spring Boot集成MQTT与单片机通信
  • 【Axios 】web异步请求
  • FreeRTOS实战指南 — 6 临界段保护
  • 关于CFS队列pick_next_task_fair选取下一个任务的分析
  • 【算法笔记】链表相关的题目
  • Netty从0到1系列之Recycler对象池技术【3】
  • 网页开发入门:CSS与JS基础及BS/CS架构解析
  • css单位换算及适配
  • Java制作双脑同步 Hemi-Sync 音频
  • webrtc弱网-ProbeBitrateEstimator类源码分析与算法原理
  • 在OpenHarmony上适配图形显示【4】——rk3568_4.0r_mesa3d适配
  • 嵌入式(3)——RTC实时时钟
  • 内核模块组成和裁剪参考表