React Vite 项目搭建指南
一、React Vite 脚手架对比
简单直接的回答是:有,而且比 React Native 的选择更多。
在 React Web 开发中,由于没有原生的物理硬件限制,框架的演进方向分成了“极速开发”、“企业级架构”和“极致性能”三个流派。
以下是目前 React 生态中对标 rn-new(或 npx create-expo-app)的几个主流方案:
1. 速度与体验的王者:npm create vite@latest
如果你追求的是像 rn-new 那样快速起步、秒级热更新,Vite 是目前全球最流行的选择。
- 对标点:极速的开发服务器(类似 RN 的渲染响应速度)。
- 特点:纯净、轻量。它不预设任何架构,只给你一个干净的 React 环境。
- 适用场景:单页面应用 (SPA)、中小型项目、或者你想完全自己配置架构时。
2. 功能最完备的“全家桶”:npx create-next-app@latest
这是目前 React 官方最推荐的生产环境框架,也是跟 rn-new 逻辑最像的——它帮你把路由、API、渲染优化全部配置好了。
- 对标点:就像 Expo 帮你搞定了导航和原生模块,Next.js 帮你搞定了服务端渲染 (SSR) 和文件系统路由。
- 特点:自带 SEO 优化、自动分包(Code Splitting)、内置 API Routes。
- 适用场景:商业级 Web 应用、需要 SEO 的网站、复杂的管理后台。
3. 2026 年的“现代架构”:npx create-t3-app@latest
如果你觉得 rn-new 的配置还不够“全”,T3 Stack 则是把所有最顶尖的库缝合在了一起。
- 对标点:它不仅配置了 React,还把 Tailwind CSS、TypeScript、tRPC(类型安全通信)和 Prisma(数据库 ORM)全部打通。
- 特点:类型安全(Type Safety)的巅峰。你在后端改一个数据库字段,前端代码会立刻报错,这种体验非常像在 KMP 中共享逻辑。
4. 跨端玩家的终极选:npx create-solito-app@latest
既然你之前在研究 Tamagui 和 React Native,这个才是你真正的“本命框架”。
- 对标点:它同时生成 Expo 项目 (RN) 和 Next.js 项目 (Web)。
- 核心逻辑:它让你在
packages/app里写一套代码,通过 Solito 的路由魔法,同时分发到 Web 和 App。
总结对比
| 命令 | 对应框架 | 核心优势 | 推荐指数 |
|---|---|---|---|
create-vite | Vite | 极简、快、自由度最高 | ⭐⭐⭐⭐ |
create-next-app | Next.js | 功能最强、生态最广、SEO 友好 | ⭐⭐⭐⭐⭐ |
create-t3-app | T3 Stack | 极致的 TypeScript 协同体验 | ⭐⭐⭐ |
create-solito-app | Solito | 如果你想要一套代码跑三端 | ⭐⭐⭐⭐ |
🚀 建议
既然你已经习惯了 React Native + Expo 的开发心智:
- 如果你想单独做一个 Web,直接上
npx create-next-app@latest。 - 如果你想把现在的 App 变成 Web,调研一下
Solito。
你想看看这几个框架中,哪一个的文件夹结构跟你的 Expo 项目最接近吗?我可以拆解给你看。
二、开箱即用的 React Vite 仓库
开箱即用的react-vite仓库
react-vite-shadcn-ui(最推荐)
GitHub: https://github.com/dan5py/react-vite-shadcn-ui
特点: 开箱即用,包含完整的配置和示例组件
bash
git clone https://github.com/dan5py/react-vite-shadcn-ui.git
cd react-vite-shadcn-ui
pnpm install
pnpm dev三、纯净 React Vite + 路由 + Tailwind
纯净React-vite添加路由和样式React Router + Tailwind CSS
bash
pnpm create vite@latest my-project -- --template react-ts
cd my-project
pnpm install
# 路由
pnpm add react-router-dom
# Tailwind
pnpm add -D tailwindcss postcss autoprefixer
npx tailwindcss init -pTailwind 必配:
tailwind.config.js:
js/** @type {import('tailwindcss').Config} */ export default { content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"], theme: { extend: {} }, plugins: [], }src/index.css(全部替换)
css@tailwind base; @tailwind components; @tailwind utilities;