❤ React18 环境搭建项目与运行(地址已经放Gitee开源)

❤ React项目搭建与运行

环境介绍

bash 复制代码
node v20.11.0
react 18.2
react-dom  18.2.0

一、React环境搭建

第一种普通cra搭建

1、检查本地环境

node版本 18.17.0

检查node和npm环境

node -v

npm -v

2、安装yarn

npm install -g yarn

yarn --version

3、创建一个新的React项目

npx create-react-app ltbreact

4、进入并运行项目

// 进入项目

cd my_react

// 启动项目

yarn start项目启动成功,在浏览器 输入 http://localhost:3000/ 即可访问react

5、尝试打包

yarn build打包完成以后能在我们项目里面看到一个包

6、下载插件(安装xxx 插件 )

yarn add 插件名称

二、第二种方式vite搭建

1、检查本地环境

node版本 18.17.0

检查node和npm环境

node -v

npm -v

2、安装yarn

npm install -g yarn

yarn --version

3、使用vite创建一个新的React项目

bash 复制代码
npm create vite@latest 第一种版本

yarn create vite ltbreact --template react-ts  //node大于20.0.0 才可以使用

yarn create vite ltbreact --template react-js 

4、进入并运行项目

// 进入项目

cd my_react

//安装依赖

yarn

// 启动项目

yarn start (之前的)

yarn dev项目启动成功,在浏览器 输入 ​​ http://localhost:​​5173/​ 即可访问react

5、尝试打包

yarn build打包完成以后能在我们项目里面看到一个包

6、下载插件(安装xxx 插件 )

yarn add 插件名称

二、项目信息

1、项目目录

打开Vite构建的项目,项目的目录结构如下:

bash 复制代码
.
├── index.html
├── package.json
├── src
│   ├── App.css
│   ├── App.tsx
│   ├── favicon.svg
│   ├── index.css
│   ├── logo.svg
│   ├── main.tsx
│   └── vite-env.d.ts
├── tsconfig.json
└── vite.config.js

2、配置resolve.alias 文件导入路径别名

简单介绍一下:

resolve.alias 配置项通过别名来把原导入路径映射成一个新的导入路径。例如使用以下配置:

在项目的 vite.config.ts 之中配置:

默认跟文件为显示src的目录

默认跟组件目录为

bash 复制代码
// vite.config.ts
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import path from 'path';

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react()],
  resolve: {
    alias: {
      '@': path.resolve(__dirname, './src')
    }
  }
})

虽然配置好了@但是输入@没有提示,找到tsconfig.json

配置 tsconfig.json
bash 复制代码
// tsconfig.json
{
  "compilerOptions": {
    "paths": {
      "@/*": ["./src/*"],
    }
  }
}

配置 extensions ,省略文件路径的后缀名

3、添加请求方式axios

(1)安装axios并封装请求
bash 复制代码
安装axios并封装请求
yarn add axios


在src下的utils工具类里面新建request.js文件封装axios请求

```bash
import axios from 'axios'
const service = axios.create({
    baseURL: '/接口前缀', //import.meta.env.VITE_BASE_URL
    headers: { 'Content-Type': 'application/json;charset=utf-8', },
    timeout: 5000,
})
export default service;
(2)

在src下的api接口类里面新建common.js文件放接口请求

common.js 里面

bash 复制代码
import request from '@/utils/request.js'

// 获取网站信息
export function getqueryWebInfo(params) {
    return request({
        url: '/你的接口地址',
        method: 'get',
        params
    })
}
(3)

在vite.config.ts 里面封装接口同意请求的前缀并且配置接口代理

bash 复制代码
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import path from 'path';
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react()],
  server: {
        host: true, //host设置为true才可以使用network的形式,以ip访问项目
        port: 8808, // 端口号
        https: false,
        open: false, //  true 自动打开浏览器自动打开浏览器
        cors: true, // 跨域设置允许
        // strictPort: true,  // 如果端口已占用直接退出
        proxy: {
            '/你的接口前缀': {
                target: '你的接口地址/', //线上版本
                changeOrigin: true,
                rewrite: (path) => path.replace(/^\/edu-admin/, '/edu-admin')
            },
        },
    }, 
  resolve: {
    alias: {
      '@components': '/src/components',
      '@': path.resolve(__dirname, './src')
    }
  }
})

请求接口成功

4、集成 react-router 路由

bash 复制代码
yarn add react-router-dom

这里使用的版本是 "react-router-dom": "^6.21.2"

react router dom v6 支持配置路由 useRoutes(hook)实现

main.ts


相关推荐
草梅友仁3 小时前
草梅 Auth 1.6.0 发布密码强度组件 Twilio 短信支持 | 2025 年第 36 周草梅周报
前端·开源·github
CoderJia程序员甲4 小时前
GitHub 热榜项目 - 日榜(2025-09-03)
ai·开源·github·开源项目·github热榜
老马啸西风4 小时前
sensitive-word 敏感词性能提升14倍优化全过程 v0.28.0
安全·开源·nlp·word·敏感词·sensitive-word
云水木石9 小时前
开源鸿蒙+龙芯CPU,能擦出怎样的火花?
华为·开源·harmonyos
智慧地球(AI·Earth)9 小时前
开源 + 免费!谷歌推出 Gemini CLI,Claude Code 的强劲对手
人工智能·语言模型·开源
在狂风暴雨中奔跑9 小时前
告别繁琐,使用WorkManager解决后台工作的难题
开源
特立独行的猫a10 小时前
开源OpenHarmony润开鸿HH-SCDAYU800A开发板开箱体验
开源·harmonyos·openharmony·hh-scdayu800a
时序数据说11 小时前
时序数据库IoTDB的核心优势
大数据·数据库·物联网·开源·时序数据库·iotdb
三十_A11 小时前
【工具】41K star!网页一键变桌面应用
前端·开源
万岳软件开发小城12 小时前
开源与定制化对比:哪种在线教育系统源码更适合教育培训APP开发?
开源·php·软件开发·在线教育系统源码·教育小程序·教育app开发