Vite + React:从零开始构建高性能Web应用(超详细教程)
引言
通常情况下,您可能会使用Create React App来创建一个新项目,但是安装超过140MB的依赖可能需要很长时间。Vite是一个轻量级的工具,只占用31MB的依赖,这将节省创建新项目的时间。Vite还使用浏览器原生的ES(ECMAScript)模块来链接JavaScript文件,这样在每次文件更改后不需要重新构建整个包。这些差异使得使用Vite创建、更新和构建React应用的体验更快。
本教程将使用Vite工具搭建一个新的React应用程序。您将创建一个包含新组件、CSS和图像文件的基本应用程序,并准备一个优化后的打包文件以供部署使用。
信息
先决条件
要按照本教程进行操作,您需要以下材料:
- 您的机器上安装了Node.js 12.2.0或更高版本。您可以通过我们的教程《如何安装Node.js》来安装最新版本的Node.js。
- 您的机器上安装了Yarn包管理器1.22.0或更高版本。您可以通过《Node.js的Yarn包管理器安装和使用指南》中的第一步来安装Yarn。
- 熟悉HTML、CSS和现代JavaScript。了解React中使用的现代JS也有帮助。
- 具备React的基础知识,您可以通过《React编程系列教程》学习。
- 一部与您的电脑连接到同一Wi-Fi网络的手机,以便您可以从手机预览您的应用。
第一步 – 创建一个Vite项目
在这一步中,您将使用命令行通过Vite工具创建一个新的React项目。您将使用Yarn包管理器来安装和运行脚本。
在您的终端中运行以下命令来建立一个新的Vite项目:
- yarn create vite
这个命令将从远程的npm仓库运行Vite可执行文件。它会配置必要的工具来搭建本地的React开发环境。最后,它会打开一个命令行菜单以进行项目设置和语言类型选择。
脚本执行完毕后,会提示您输入项目名称。
输出yarn create v1.22.10
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "create-vite@2.9.0" with binaries:
- create-vite
- cva
? Project name: » vite-project
输入您的项目名称(本教程将以digital-ocean-vite作为示例名称)。
- digital-ocean-vite
输入项目名称后,Vite将提示您选择一个框架:
输出? Select a framework: » - Use arrow-keys. Return to submit.
Vanilla
Vue
> React
Preact
Lit
Svelte
Others
Vite 允许您快速启动多种类型的项目,不仅限于 React。目前,它支持 React、Preact、Vue、Lit、Svelte 和纯JavaScript项目。
请使用键盘上的箭头键选择React。
在选择React框架后,Vite将提示您选择语言类型。您可以使用JavaScript或TypeScript来开发您的项目。
请使用箭头键选择JavaScript。
输出? Select a variant: » - Use arrow-keys. Return to submit.
> JavaScript
TypeScript
JavaScript + SWC
TypeScript + SWC
在设置框架后,您将看到一个输出,显示该项目已经搭建完毕。然后,Vite会指示您使用Yarn安装依赖项。
输出Done:
Scaffolding project in path\to\digital-ocean-vite...
Done. Now run:
cd digital-ocean-vite
yarn
yarn dev
Done in 129.89s.
按照指示导航至您的项目文件夹。
- cd digital-ocean-vite
然后,使用yarn命令安装项目的依赖项。
- yarn
完成后,依赖安装将返回一个输出,显示安装依赖所花费的时间。
输出success Saved lockfile.
Done in 43.26s.
您已经使用 Vite 建立了一个新的 React 项目,并且安装了 React 和 Vite 所需的包。
接下来,您将启动开发服务器来测试应用程序。
第二步 – 启动开发服务器
在这一步中,您将启动开发服务器来验证一切是否正常工作。
在digital-ocean-vite文件夹内,使用以下命令来运行开发服务器:
- yarn run dev
该命令是vite命令的别名。它将以开发模式运行您的项目。
以下是您将收到的输出结果。
输出VITE v4.0.4 ready in 847 ms
➜ Local: http://localhost:5173/
➜ Network: use --host to expose
➜ press h to show help
接下来,打开浏览器并访问http://localhost:5173/。默认的React项目将会在5173端口上运行。

当您看到这个应用程序运行时,说明您已经成功安装了React和Vite。接下来,您将可以从您的手机上预览您的应用程序。
步骤3 — 通过手机预览您的应用程序
默认情况下,Vite不会将您的开发应用暴露给您的网络。在这一步骤中,您将把应用程序暴露给您的本地网络,以便您可以通过手机进行预览。
要在本地网络上运行您的应用程序,您必须首先停止当前的服务器。在终端中,使用CTRL+C来终止当前正在运行的开发服务器。
接下来,使用以下命令来运行您的项目:
- yarn run dev --host
–host标志告诉Vite将您的应用程序公开到本地网络。
您将在终端中收到此输出结果。
输出VITE v4.0.4 ready in 747 ms
➜ Local: http://localhost:5173/
➜ Network: http://your_ip_address:5173/
➜ press h to show help
这是本地IP地址,是您计算机网络或路由器所独有的。
在您的手机上打开浏览器,然后输入上述IP地址和端口号,即可从手机上预览您的Vite应用。

您现在已经在开发环境中成功运行并验证了您的应用。下一步,您将删除Vite的模板代码。
第四步 — 移除默认模板代码
在此步骤中,您将从src/
目录中删除Vite项目的样板文件,以便设置一个新的应用程序。您还将熟悉当前应用程序的默认项目结构。
使用以下命令查看您的src/
目录内容:
- ls src/
输出将列出所有可用文件:
输出App.css
App.jsx
assets
index.css
main.jsx
使用rm
命令删除文件或目录。使用以下命令从项目中删除默认文件:
- rm src/App.css
- rm src/App.jsx
- rm src/index.css
使用以下命令删除assets
目录:
- rm -r src/assets
-r
标志表示递归操作,在删除目录及其内容时需要使用。
删除这些文件后,src/
目录中将只剩下main.jsx
文件。再次运行ls src/
命令来查看剩余的文件:
- ls src/
现在,目录中将只包含main.jsx
文件:
输出main.jsx
因为您已经删除了所有其他文件,现在您需要在main.jsx
中删除对已删除CSS文件的引用。
使用以下命令打开main.jsx
进行编辑:
- nano src/main.jsx
删除被高亮显示的行,以解除与CSS文件的引用链接。
/src/main.jsx
-> 主文件.jsximport React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App'
import "./index.css"
ReactDOM.createRoot(document.getElementById('root')).render(
<React.StrictMode>
<App />
</React.StrictMode>,
)
保存并关闭main.jsx
文件。
在src/
目录下使用以下命令创建一个名为App.jsx
的新文件:
- nano src/App.jsx
将以下代码添加到App.jsx
文件中:
/src/App.jsx
的内容应该用中文原生方式进行改写export default function App() {
return (
<>
<div>Hello World</div>
</>
);
}
这段代码定义了一个名为 App
的 React 函数组件。export default
前缀表示将此函数作为模块的默认导出。函数体内部返回一个包含“Hello World”文本的 <div>
元素。
保存并关闭 App.jsx
文件。
请使用以下命令再次运行开发服务器:
- yarn run dev --host
现在,请在您的浏览器中打开或刷新 http://localhost:3000
,您将看到一个空白页面,上面显示“Hello World”文本。

在这一步中,您已经从 Vite 项目中删除了部分默认文件。接下来,您将使用新的组件、CSS 文件和图像文件来构建一个基础应用程序。
第5步 – 创建一个基础应用程序
在这一步中,您将通过创建组件、添加 CSS 文件和链接图像来构建一个基础应用程序。首先,请退出开发服务器。
在接下来的小节中,您将为您的 React 应用程序创建一个新组件。
创建一个组件
创建一个新组件可以使您的项目更具模块化。为了保持项目整洁有序,您将把所有组件添加到 components
目录中。
使用以下命令在 src/
目录下创建一个名为 components
的新目录:
- mkdir src/components
下一步,在 src/components/
目录下使用以下命令创建一个名为 Welcome.jsx
的新文件:
- nano src/components/Welcome.jsx
将以下代码添加到 Welcome.jsx
文件中:
/src/components/Welcome.jsx
上述代码将创建一个名为Welcome
的新功能性React组件。export default
前缀告诉JavaScript将此函数作为默认导出。
具有wrapper
类名的div
标签允许您在CSS中定位此部分。h1
和p
标签将在屏幕上显示相应消息。
保存并关闭文件。
接下来,在您的App.jsx
文件中引用这个新的组件。
使用以下命令打开App.jsx
文件:
- nano src/App.jsx
请重新编写/src/App.jsx
的内容,用突出显示的代码更新它:
import Welcome from "./components/Welcome"
export default function App() {
return (
<>
<Welcome />
</>
)
}
这行代码将会把Welcome.jsx
文件导入到应用程序中,并将新的组件链接到函数体内。完成后,保存并关闭文件。
在以下的子部分中,您将为您的应用程序添加一张图片。
加入一张图片
在应用程序开发中,向React添加图像是一个常见的用例。
在src/
目录下使用以下命令创建名为img
的新目录:
- mkdir src/img
使用此命令导航到您的src/img
目录:
- cd src/img
您将把这张萨米的图片下载到src/img
文件夹中。

使用wget
命令下载图像。
这是文章《如何使用Vite建立一个React项目》的第5部分(共9部分)。
内容片段:
- wget https://html.sammy-codes.com/images/small-profile.jpeg
使用以下命令重命名图像:
- mv small-profile.jpeg sammy.jpeg
这个命令将图像文件从small-profile.jpeg
重命名为sammy.jpeg
,以后引用时会更加方便。
使用该命令返回到您的根目录:
- cd ../../
接下来,您将更新Welcome.jsx
文件,将其链接到这张图片。打开文件:
- nano src/components/Welcome.jsx
通过添加下划线标出的行,在您的Welcome.jsx
文件中进行更新。
/src/components/Welcome.jsx
import Sammy from "../img/sammy.jpeg"
export default function Welcome() {
return (
<>
<div className="wrapper">
<h1>Welcome To My App</h1>
<p>This is going to be the coolest app in the world!</p>
<img src={Sammy} alt="Sammy Image" width={200} height={200} />
</div>
</>
)
}
第一行将图像作为模块导入到React中。
在函数体内的另一行将创建一个新的<img>
标签,并将src
属性链接到刚刚导入的图像组件。width
和height
属性将把相应的图像尺寸设置为200像素。
保存并关闭Welcome.jsx
文件。
接下来,您将在您的项目中添加CSS。
添加CSS
在这个子部分中,您将向项目中添加一个自定义的CSS文件来为您的应用程序设置样式。
使用以下命令在src/
目录下创建一个名为css
的新目录。
- mkdir src/css
现在,在 src/css
目录下创建一个名为 main.css
的CSS文件。
- nano src/css/main.css
将以下代码添加到 main.css
文件中:
以下是 /src/css/main.css
的内容:
body {
display: grid;
place-items: center;
background-color: #b4a7d6;
font-family: Arial, Helvetica, sans-serif;
}
.wrapper {
background-color: #fff9e6;
padding: 20px;
border-radius: 10px;
}
h1 {
color: #8873be;
}
在上述CSS代码中,我们为整个页面设置了网格布局,并将内容居中显示。同时,还设置了字体家族和背景颜色。
.wrapper
类将作用于 Welcome.jsx
文件中的包装器 div
元素。此类的样式将实现以下功能:
- 设置背景颜色。
- 添加 20 像素的内边距。
- 设置 10 像素的圆角。
h1
选择器将针对HTML中的 <h1>
标签进行样式设置,并将其颜色设置为一种紫色调。
完成后,请保存并关闭 main.css
文件。
接下来,您将从 Welcome.jsx
组件中引用新的CSS文件。请打开 Welcome.jsx
文件。
- nano src/components/Welcome.jsx
用突出显示的行更新文件的内容:
/src/components/Welcome.jsx
import Sammy from "../img/sammy.jpeg"
import "../css/main.css"
export default function Welcome() {
return (
<>
<div className="wrapper">
<h1>欢迎来到我的应用</h1>
<p>这将是世界上最酷的应用!</p>
<img src={Sammy} alt="Sammy 图片" width={200} height={200} />
</div>
</>
)
}
这行代码将CSS文件作为组件的模块导入。您可能需要根据您的项目文件夹结构更新代码行中正确的文件路径。
完成后,请保存并关闭 Welcome.jsx
文件。
在下面的子部分中,您将更改应用程序的标题栏。
更改应用标题栏
默认情况下,Vite 应用程序在浏览器窗口标题栏中显示文本“Vite + React”。在此步骤中,您将将其更改为更具描述性的标题。
在您的项目根目录中打开 index.html
文件。
- nano index.html
更新 <title>
标签,将高亮文本添加进去。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>我的酷炫应用</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.jsx"></script>
</body>
</html>
将这段文本中的默认Vite应用标题替换为您自定义的应用标题。
保存并关闭 index.html
文件。
如果需要重新运行开发服务器,请运行以下命令:
- yarn run dev --host
完成所有更改后,访问 http://localhost:5173 来查看您的应用程序。您将看到一个新版本的应用程序。

当您准备开始构建时,可以关闭开发服务器。
您现在已经添加了一张图片,更改了样式,并制作了一个精美的用户界面。在下一个也是最后一步中,您将构建一个优化的应用程序包以进行部署。
第六步——生产构建
在这一步中,您将构建一个已优化的应用程序包,准备部署到服务器上。要创建一个构建,请在终端中输入以下命令:
- yarn run build
该命令将创建一个包含经过压缩的源文件的新目录,您可以将其部署到服务器上用于生产环境。
您将会收到一个类似这样的输出:
输出vite v4.0.4 building for production...
✓ 34 modules transformed.
dist/index.html 0.45 kB
dist/assets/sammy-9cb83ad5.jpeg 6.74 kB
dist/assets/index-d1c95597.css 0.19 kB │ gzip: 0.16 kB
dist/assets/index-e0751083.js 143.19 kB │ gzip: 46.04 kB
✨ Done in 1.63s.
您现在可以将“dist”文件夹的内容部署到在线服务器上。如果您有 Apache 或 Nginx 服务器,您可以手动上传这些内容。您还可以使用应用平台运行构建脚本并自动生成构建文件。如果要将您的 React 应用部署到 Silicon Cloud 的应用平台上,请按照我们的教程《如何将 React 应用程序部署到 Silicon Cloud 应用平台》进行操作。
结论
在本教程中,您使用 Vite 工具创建了一个新的 React 应用。您使用 yarn create vite
命令搭建了一个全新的 React 应用。删除了模板代码后,通过添加自定义图像、CSS 文件和更改标题栏来创建您的组件。最后,使用 yarn run build
命令创建了一个优化的打包文件,准备部署使用。
现在您已经用 Vite 构建了一个 React 应用程序,可以查看《如何使用 React.js 编码系列》中还能用 React 做什么,同时探索其他关于 React 的教程。