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

如何搭建一个react项目(详细介绍)

要搭建一个基本的 React 项目,你需要执行以下步骤。在开始之前,请确保你已经安装了 Node.js 和 npm(Node 包管理器)。

搭建一个React项目

  • 1,创建项目目录
  • 2,初始化项目
  • 3,安装 React 和 ReactDOM
  • 4,安装 Babel
  • 5,创建项目文件
  • 6,配置 Babel
  • 7,创建 React 组件
  • 8,创建 HTML 文件
  • 9,创建 Webpack 配置
  • 10,运行开发服务器
  • 11,查看应用

1,创建项目目录

首先,创建一个项目目录,并在终端中进入该目录。

mkdir my-react-app
cd my-react-app

2,初始化项目

使用以下命令初始化一个新的 npm 项目。按照提示,你可以设置项目名称、版本、描述等信息。

npm init

3,安装 React 和 ReactDOM

使用 npm 安装 React 和 ReactDOM,这两个包是构建 React 应用所必需的。

npm install react react-dom

4,安装 Babel

React 使用 JSX 语法,需要通过 Babel 转译成标准的 JavaScript。安装 Babel 相关依赖:

npm install @babel/core @babel/preset-react @babel/preset-env babel-loader --save-dev

5,创建项目文件

在项目目录中,创建一个简单的 React 组件文件和一个 HTML 文件。

在项目根目录创建一个名为 src 的文件夹。

在 src 文件夹中创建一个名为 index.js 的文件,用于编写 React 组件。

在项目根目录创建一个名为 index.html 的文件,用于加载 React 应用。

6,配置 Babel

在项目根目录创建一个名为 .babelrc 的文件,并配置 Babel 的预设:

{"presets": ["@babel/preset-env", "@babel/preset-react"]
}

7,创建 React 组件

编写一个简单的 React 组件,例如:

//在这里插入代码片 src/index.js
import React from 'react';
import ReactDOM from 'react-dom';function App() {return <h1>Hello, React!</h1>;
}ReactDOM.render(<App />, document.getElementById('root'));

8,创建 HTML 文件

在项目根目录的 index.html 文件中创建一个容器元素,该元素将用于渲染 React 应用。示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>React App</title>
</head>
<body><div id="root"></div><script src="dist/bundle.js"></script>
</body>
</html>

9,创建 Webpack 配置

使用 Webpack 来构建和打包 React 应用。首先,安装必要的依赖:

npm install webpack webpack-cli webpack-dev-server --save-dev

在项目根目录中创建一个名为 webpack.config.js 的配置文件,配置 Webpack:

const path = require('path');module.exports = {entry: './src/index.js',output: {filename: 'bundle.js',path: path.resolve(__dirname, 'dist'),},module: {rules: [{test: /\.(js|jsx)$/,exclude: /node_modules/,use: ['babel-loader'],},],},devServer: {contentBase: './dist',port: 3000,},
};

10,运行开发服务器

在终端中运行开发服务器:

npx webpack-dev-server --mode development

11,查看应用

在浏览器中访问 http://localhost:3000,你将看到 React 应用程序运行。

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

相关文章:

  • ActiveMQ用法
  • TouchGFX之缓存位图
  • 线性代数的本质(十)——矩阵分解
  • vue实现鼠标拖拽div左右移动的功能
  • 基于Python和mysql开发的商城购物管理系统分为前后端(源码+数据库+程序配置说明书+程序使用说明书)
  • MySQL内外连接、索引特性
  • 滚动条设置
  • 【AI】机器学习——感知机
  • 蓝牙遥控器在T2-U上的应用
  • 数据驱动的数字营销与消费者运营
  • Qt点亮I.MX6U开发板的一个LED
  • 网络摄像头-流媒体服务器-视频流客户端
  • Django05_反向解析
  • 基于HTML、CSS和JavaScript制作一个中秋节倒计时网页
  • 富斯I6刷10通道固件
  • vector的模拟实现 总结
  • k8s中的有状态,无状态,pv、pvc等
  • springboot+jxls复杂excel模板导出
  • 用selenium webdriver获取网站cookie后,实现免登录上网站
  • 如何使用Java进行安全测试?
  • Linux之Socket函数(详细篇)
  • Dajngo06_Template模板
  • 快速幂 c++
  • 分享一个基于微信小程序的医院口腔助手小程序 牙科诊所预约小程序 源码 lw 调试
  • Si3262 一款低功耗刷卡+触摸+mcu 三合一SOC芯片
  • [H5动画制作系列] 奔跑的豹子的四种Demo演化
  • 如何实现让一个函数能返回多个值的效果
  • End-to-end 3D Human Pose Estimation with Transformer
  • 状态管理Pinia
  • maven运行报错解决