使用Vite创建React项目:从零开始的完整指南

1,702 阅读3分钟

在这篇博客中,我将详细介绍如何使用Vite创建一个React项目,并解释项目中的几个核心文件的功能。Vite是一个现代化的前端构建工具,相比传统的Webpack,它提供了更快的开发服务器启动和热模块替换(HMR)体验。

第一步:创建React项目

首先,我们需要使用npm初始化一个Vite项目(首先确保你已经部署安装好node.js)。打开终端(在Windows上可以使用PowerShell),输入以下命令:

npm init vite

1.jpg

执行命令后,系统会提示你输入项目名称。我这里使用了"dome-2"作为项目名。

接下来,选择框架。Vite支持多种前端框架,我们选择"React"。 2.jpg

然后选择变体。我选择了"TypeScript + SWC",因为SWC是一个用Rust编写的超快速编译器,比传统的Babel快很多。

3.jpg

项目创建完成后,Vite会给出后续操作指令:

cd dome-2
npm install
npm run dev

第二步:项目结构概览

创建完成后,你会看到一个名为"dome-2"的文件夹。让我们来看看这个文件夹的内容:

用VS Code打开项目后,我们可以看到完整的目录结构:

首页.jpg

核心文件功能解析

1. package.json

这是Node.js项目的核心配置文件,定义了:

  • 项目依赖(dependencies和devDependencies)
  • 可运行的脚本命令(scripts)
  • 项目基本信息(名称、版本等)
{
  "name": "dome-2",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "tsc && vite build",
    "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
    "preview": "vite preview"
  },
  "dependencies": {
    "react": "^18.2.0",
    "react-dom": "^18.2.0"
  },
  "devDependencies": {
    "@types/react": "^18.2.45",
    "@types/react-dom": "^18.2.18",
    "@typescript-eslint/eslint-plugin": "^7.3.1",
    "@typescript-eslint/parser": "^7.3.1",
    "@vitejs/plugin-react": "^4.2.1",
    "eslint": "^8.57.0",
    "eslint-plugin-react-hooks": "^4.6.0",
    "eslint-plugin-react-refresh": "^0.4.5",
    "typescript": "^5.2.2",
    "vite": "^5.1.4"
  }
}

2. vite.config.ts

这是Vite的配置文件,定义了项目的构建选项:

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

export default defineConfig({
  plugins: [react()],
})

这个简单的配置使用了Vite的React插件,这是支持React项目所必需的。

3. index.html

这是应用的入口HTML文件,Vite会将其作为应用的起点:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Vite + React</title>
  </head>
  <body>
    <div id="root"></div>
    <script type="module" src="/src/main.tsx"></script>
  </body>
</html>

注意:与传统的React项目不同,Vite项目中的index.html位于项目根目录,而不是public文件夹。

4. src/main.tsx

这是React应用的JavaScript入口文件:

import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App.tsx'
import './index.css'

ReactDOM.createRoot(document.getElementById('root')!).render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
)

5. src/App.tsx

这是React的主组件文件:

import { useState } from 'react'
import reactLogo from './assets/react.svg'
import viteLogo from '/vite.svg'
import './App.css'

function App() {
  const [count, setCount] = useState(0)

  return (
    <>
      <div>
        <a href="https://vitejs.dev" target="_blank">
          <img src={viteLogo} className="logo" alt="Vite logo" />
        </a>
        <a href="https://react.dev" target="_blank">
          <img src={reactLogo} className="logo react" alt="React logo" />
        </a>
      </div>
      <h1>Vite + React</h1>
      <div className="card">
        <button onClick={() => setCount((count) => count + 1)}>
          count is {count}
        </button>
        <p>
          Edit <code>src/App.tsx</code> and save to test HMR
        </p>
      </div>
      <p className="read-the-docs">
        Click on the Vite and React logos to learn more
      </p>
    </>
  )
}

export default App

启动开发服务器

在项目目录下运行:

npm run dev

这将启动Vite的开发服务器,通常会在浏览器中自动打开http://localhost:5174/。 如果没有直接打开,把鼠标移到链接处,按住Ctrl键再点击鼠标左键,就会自动跳转到默认浏览器打开。

7.jpg

8.jpg

Vite的开发服务器启动速度极快,并且支持热模块替换(HMR),这意味着你可以在保存文件后立即看到更改,而无需完全刷新页面。

总结

通过Vite创建React项目是一个快速且高效的过程。相比传统的Create React App (CRA),Vite提供了:

  1. 更快的开发服务器启动
  2. 更快的热更新
  3. 更简单的配置
  4. 对TypeScript和现代JavaScript特性的原生支持

项目中的核心文件各司其职,共同构成了一个React应用的基础结构。理解这些文件的作用对于后续的项目开发和维护至关重要。

希望这篇指南能帮助你顺利开始你的React开发之旅!