从0到1使用vite搭建react项目保姆级教程(持续更新中)

本文主要是介绍从0到1使用vite搭建react项目保姆级教程(持续更新中),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、vite创建react项目

要使用Vite创建一个React项目,你需要按照以下步骤操作:

1、确保你已经安装了Node.js(建议使用最新的稳定版本)。
2、 使用npm命令安装Vite CLI工具,再来创建项目
npm create vite@latest my-vite-app 
3、运行上述命令后,按照提示选择“create-react-app”模板创建项目。
4、输入项目名称,例如“my-react-app”。
5、选择需要的选项,例如选择JavaScript或TypeScript作为项目的编程语言。

SWC是JavaScript编译工具比Babel要快,但是在功能和插件生态系统方面Babel更完善

6、等待依赖安装完毕。

以下是一个简单的命令行示例:

npm create vite@latest my-vite-app 
# 选择默认模板 'create-react-app'
# 输入项目名称,例如 'my-react-app'
# 选择一个JavaScript框架,或者TypeScript
7、安装完成后,你可以通过以下命令启动开发服务器:
cd my-react-app
npm install 安装package.json中的依赖包
npm run dev
8、现在,你应该拥有一个使用Vite创建并且配置了React的新项目。

9、vite相关命令
vite [root]:启动开发服务器,可以指定一个根目录(可选)。
build [root]:构建生产环境的应用程序,可以指定一个根目录(可选)。
optimize [root]:预打包依赖项,用于优化构建性能。
preview [root]:本地预览生产环境的构建结果,可以指定一个根目录(可选)。
--open:启动开发服务器后自动打开默认浏览器并访问应用程序
--cors:启用 CORS(跨域资源共享)。
--strictPort:如果指定的端口已被占用,则退出。
--force:强制优化器忽略缓存并重新打包。
-c, --config <file>:使用指定的配置文件。
--base <path>:设置公共基础路径,默认为 /。
-l, --logLevel <level>:设置日志级别,可选值为 info、warn、error、silent。
--clearScreen:允许或禁用日志时的清屏操作。
-d, --debug [feat]:显示调试日志,可选参数为特定功能的名称。
-f, --filter <filter>:过滤调试日志的输出。
-m, --mode <mode>:设置环境模式。
-h, --help:显示帮助信息。
-v, --version:显示版本号。

二、集成开发需要的各种插件

项目搭建之后,我们就开始安装项目所需要的各种插件了:

1、集成vant的react版本组件库(以此为例)

# 通过 npm 安装

npm i react-vant -S

安装完成之后我们可以看到package.json中多了  "react-vant": "^3.3.5", 即表示安装完成

如何使用vant 中的组件呢, 官方文档地址https://react-vant.3lang.dev/guide/quickstart

引入即可:

import { Uploader,Toast  } from 'react-vant';

具体组件的详细用法参考官方文档组件即可

2、集成less
npm install less -Dnpm install less-loader -D

安装好了之后就可以了

3、集成路由并配置

npm install react-router-dom -S

安装好之后,入口App.tsx


import './App.css'
import * as React from 'react'
import RootRouter from "./router.jsx"
import {BrowserRouter} from 'react-router-dom' 
function App() {return (<BrowserRouter><RootRouter/></BrowserRouter>)
}
export default App

router.jsx页面

import * as React from 'react'
import {Routes,Route} from 'react-router-dom'
import Home from "./pages/index"
import User from './pages/user'
import Created from './pages/Created'
import Complete from './pages/Complete'function Router() {return (<Routes><Route path="/" element={<Home />} /><Route path="/user" element={<User />} /><Route path="/created" element={<Created />} /><Route path="/complete" element={<Complete />} /></Routes>);
}export default Router;

4、集成redux,状态管理

5、国际化配置

三、react语法

1、基础语法参考文档:React 官方中文文档

2、react进阶 内置Hook 

Hook 可以帮助在组件中使用不同的 React 功能。你可以使用内置的 Hook 或使用自定义 Hook。本页列出了 React 中所有内置 Hook

React 内置 Hook – React 中文文档

示例:useState Hook

import * as React from 'react'
import {useState} from 'react'function UserPage() {const navigateTo  = useNavigate();const [account, setAccount] = useState('some-account-value');  const [columns, setColumns] = useState([/* ...初始的列数据... */]); return (<div></div>)}

四、QA:问答

1、类型“JSX.IntrinsicElements”上不存在属性“div”?

react使用ts 内部组件如果是div a标签这种html标签ts会报错
类型“JSX.IntrinsicElements”上不存在属性“div”
这种本来就不是自定义组件的标准html标签怎么取消这种ts报错呢,或者怎么告诉ts这就是标准html标签

解决方案:

配置下tsconfig.json文件
"compilerOptions":{

"jsx": "react",

},

2、提示 useRoutes() may be used only in the context of a <Router> component.

需要在外面包一层 <BrowserRouter>

3 、vite创建的项目不支持require,会提示require未定义

解决方案:前端有很多工具包是commonjs的写法,只能用require引入,为了vite构建的项目也可以方便的引入commojnjs包,需要把这些工具包转换为es module

(1)安装 vite-plugin-commonjs插件

npm i vite-plugin-commonjs

(2)在vite.config.js中添加该插件,注意commonjs()必须在react()上面,否则不生效,打包的时候也需要配置一下,把require转换一下

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import commonjs from 'vite-plugin-commonjs';// https://vitejs.dev/config/
export default defineConfig({plugins: [commonjs(),react()],build: {commonjsOptions: {transformMixedEsModules: true}}
})

未完待续,后续react相关问题会长期记录在本博客下~~

这篇关于从0到1使用vite搭建react项目保姆级教程(持续更新中)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1075599

相关文章

C语言中联合体union的使用

本文编辑整理自: http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=179471 一、前言 “联合体”(union)与“结构体”(struct)有一些相似之处。但两者有本质上的不同。在结构体中,各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量

Tolua使用笔记(上)

目录   1.准备工作 2.运行例子 01.HelloWorld:在C#中,创建和销毁Lua虚拟机 和 简单调用。 02.ScriptsFromFile:在C#中,对一个lua文件的执行调用 03.CallLuaFunction:在C#中,对lua函数的操作 04.AccessingLuaVariables:在C#中,对lua变量的操作 05.LuaCoroutine:在Lua中,

一份LLM资源清单围观技术大佬的日常;手把手教你在美国搭建「百万卡」AI数据中心;为啥大模型做不好简单的数学计算? | ShowMeAI日报

👀日报&周刊合集 | 🎡ShowMeAI官网 | 🧡 点赞关注评论拜托啦! 1. 为啥大模型做不好简单的数学计算?从大模型高考数学成绩不及格说起 司南评测体系 OpenCompass 选取 7 个大模型 (6 个开源模型+ GPT-4o),组织参与了 2024 年高考「新课标I卷」的语文、数学、英语考试,然后由经验丰富的判卷老师评判得分。 结果如上图所

Vim使用基础篇

本文内容大部分来自 vimtutor,自带的教程的总结。在终端输入vimtutor 即可进入教程。 先总结一下,然后再分别介绍正常模式,插入模式,和可视模式三种模式下的命令。 目录 看完以后的汇总 1.正常模式(Normal模式) 1.移动光标 2.删除 3.【:】输入符 4.撤销 5.替换 6.重复命令【. ; ,】 7.复制粘贴 8.缩进 2.插入模式 INSERT

用Microsoft.Extensions.Hosting 管理WPF项目.

首先引入必要的包: <ItemGroup><PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2" /><PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" /><PackageReference Include="Serilog

eclipse运行springboot项目,找不到主类

解决办法尝试了很多种,下载sts压缩包行不通。最后解决办法如图: help--->Eclipse Marketplace--->Popular--->找到Spring Tools 3---->Installed。

vue, 左右布局宽,可拖动改变

1:建立一个draggableMixin.js  混入的方式使用 2:代码如下draggableMixin.js  export default {data() {return {leftWidth: 330,isDragging: false,startX: 0,startWidth: 0,};},methods: {startDragging(e) {this.isDragging = tr

Lipowerline5.0 雷达电力应用软件下载使用

1.配网数据处理分析 针对配网线路点云数据,优化了分类算法,支持杆塔、导线、交跨线、建筑物、地面点和其他线路的自动分类;一键生成危险点报告和交跨报告;还能生成点云数据采集航线和自主巡检航线。 获取软件安装包联系邮箱:2895356150@qq.com,资源源于网络,本介绍用于学习使用,如有侵权请您联系删除! 2.新增快速版,简洁易上手 支持快速版和专业版切换使用,快速版界面简洁,保留主

如何免费的去使用connectedpapers?

免费使用connectedpapers 1. 打开谷歌浏览器2. 按住ctrl+shift+N,进入无痕模式3. 不需要登录(也就是访客模式)4. 两次用完,关闭无痕模式(继续重复步骤 2 - 4) 1. 打开谷歌浏览器 2. 按住ctrl+shift+N,进入无痕模式 输入网址:https://www.connectedpapers.com/ 3. 不需要登录(也就是

vue项目集成CanvasEditor实现Word在线编辑器

CanvasEditor实现Word在线编辑器 官网文档:https://hufe.club/canvas-editor-docs/guide/schema.html 源码地址:https://github.com/Hufe921/canvas-editor 前提声明: 由于CanvasEditor目前不支持vue、react 等框架开箱即用版,所以需要我们去Git下载源码,拿到其中两个主