第一章:本地开发环境搭建与工程化配置
第一章:本地开发环境搭建与工程化配置
Prorise第一章:本地开发环境搭建与工程化配置
摘要: 一个高效、规范的本地开发环境是快速掌握新技术的前提。在本章中,我们将回归开发的本质,优先在 Windows 中搭建一个快如闪电的本地 React 开发环境。我们将从使用 pnpm
初始化 Vite
项目开始,深入配置路径别名、ESLint 与 Prettier,并与 Cursor / VS Code 深度集成,实现保存即格式化的“心流”体验。本章的最终目标,是为您构建一个与专业团队对齐的、高度规范化的本地开发起点,为后续学习扫清一切障碍。
在本章中,我们将循序渐进地完成以下核心任务:
- 首先,我们将在 Windows 环境中准备好 Node.js 和 pnpm。
- 接着,我们将使用
pnpm create vite
初始化一个纯净的 React + TypeScript 项目。 - 然后,我们将解剖项目的初始结构与启动流程,精确理解其工作原理。
- 之后,我们将深入
vite.config.ts
和tsconfig.json
,配置路径别名等开发效率优化。 - 最后,我们将引入并配置 ESLint 和 Prettier,建立一套现代化的代码质量与风格保障体系,并与编辑器深度集成。
1.1. 基础环境准备:配置 Windows 与 Node.js
对于现代前端开发而言,一个配置正确的本地环境是高效工作的基石。我们将直接在 Windows 系统上进行环境搭建。
1.1.1. 在 Windows 中安装 Node.js
首先,您需要访问 Node.js 官方网站,下载适用于 Windows 的 长期支持版 (LTS) 安装程序。
下载后,双击运行 .msi
安装文件,按照安装向导的提示,使用默认选项一路“下一步”即可完成安装。安装程序会自动将 node.exe
和 npm
添加到系统的 PATH 环境变量中。
安装完成后,您可以打开一个新的 PowerShell 或命令提示符窗口,执行以下命令来验证安装是否成功:
1 | node -v |
如果能看到对应的版本号输出,则代表 Node.js 环境已准备就绪。
1.1.2. 安装 pnpm
pnpm
是一个快速、节省磁盘空间的包管理器。我们推荐使用它来替代 npm
。在安装好 Node.js 之后,于终端中执行以下命令进行全局安装:
1 | # 全局安装 pnpm |
1.2. 初始化项目:从纯净的 Vite 模板开始
我们将在 Windows 的文件系统中创建项目。
打开您的终端,导航到您希望创建项目的目录(例如 D:\projects
),然后运行:
1 | # 在 projects 目录下创建我们的项目 |
Vite
会引导您完成几个选择:
1 | ✔ Select a framework: › React |
按照提示,进入项目目录,安装依赖,并启动它:
1 | cd prorise-react-guide |
Vite 启动后,会提供一个本地 URL,如 http://localhost:5173/
。您可以在 Windows 的浏览器中打开此地址。看到旋转的 React Logo,代表您的项目地基已成功铺设。
1.3. 项目初探:解剖 React 应用的启动流程
理解现有文件如何协同工作,是进行任何修改前的必要步骤。
初始项目结构:
1 | # prorise-react-guide/ |
启动流程追溯:
index.html
(宿主页面): 浏览器加载的第一个文件,是整个单页应用(SPA)的“舞台”。它的<body>
中包含一个关键的<div>
元素:<div id="root"></div>
,这是 React 应用将会被注入的目标位置。同时,它通过<script type="module" src="/src/main.tsx"></script>
引入了应用的入口脚本。src/main.tsx
(应用入口): 这是 React 应用的启动引擎。它的核心职责是:- 导入 React 和 ReactDOM 库。
- 导入根组件
App
。 - 使用
ReactDOM.createRoot()
找到index.html
中的<div id="root">
元素,并创建一个 React 渲染根。 - 调用
root.render()
方法,将<App />
组件及其所有子组件渲染到该 DOM 节点中。
src/App.tsx
(根组件): 这是组件树的最顶层。在初始模板中,它是一个标准的函数组件,返回一段 JSX(JavaScript XML),这段 JSX 定义了我们在浏览器中看到的初始界面。
1.4. 提升开发效率:配置路径别名
随着项目复杂度的增加,深层相对路径 (../../../
) 会严重影响代码的可读性和可维护性。我们将配置路径别名,用 @
符号直达 src
目录。
1.4.1. 配置 Vite
首先,修改 vite.config.ts
文件,告知 Vite 如何解析这个别名。
文件路径: vite.config.ts
(修改)
1 | import { defineConfig } from 'vite' |
1.4.2. 配置 TypeScript
接着,修改 tsconfig.json
文件,让 TypeScript 的语言服务也能理解这个别名,从而提供正确的类型检查和路径补全。
文件路径: tsconfig.json
(修改)
1 | { |
关键一步: 修改 tsconfig.json
后,您需要重启 TypeScript 服务才能让更改生效。在 Cursor / VS Code 中,按下 Ctrl+Shift+P
(或 Cmd+Shift+P
),输入并选择 TypeScript: Restart TS Server
。
1.5. 代码规范体系:ESLint 与 Prettier
我们将建立一套自动化的代码规范体系,确保代码质量和风格的一致性。
1.5.1. 安装核心依赖
Vite 的 React 模板已包含部分 ESLint 配置,但我们需要对其进行扩展和现代化。
1 | # 卸载模板自带的旧版插件,并安装我们需要的现代化套件 |
@eslint/js
,typescript-eslint
: ESLint 核心与 TypeScript 解析支持。eslint-plugin-react
,eslint-plugin-react-hooks
: React 官方推荐的规则集,用于检查 Hooks 的正确使用等。eslint-config-prettier
: 用于关闭所有与 Prettier 冲突的 ESLint 规则。
1.5.2. 现代化 ESLint 配置 (eslint.config.js
)
我们将放弃传统的 .eslintrc
文件,全面转向名为 eslint.config.js
的现代化扁平配置文件。
首先,删除项目根目录下的 .eslintrc.cjs
文件,然后新建 eslint.config.js
。
文件路径: eslint.config.js
(新建)
1 | import globals from "globals"; |
1.5.3. 配置 Prettier 与编辑器集成
- 安装 Prettier:
1 | pnpm add -D prettier eslint-plugin-prettier |
- 创建 Prettier 配置文件: 在项目根目录创建
.prettierrc.json
。
文件路径: .prettierrc.json
(新建)
1 | { |
1.6. 集成现代化样式方案:Tailwind CSS
为了实现极致的开发效率和保持样式的一致性,我们的整个 React 学习之旅将以 Tailwind CSS 作为首选样式解决方案。现在,我们将其集成到通过 Vite 创建的项目中。
1.6.1. 安装核心依赖
在您的项目根目录终端中,运行以下命令来安装 tailwindcss
及其对等依赖。
1 | pnpm add -D tailwindcss postcss autoprefixer |
tailwindcss
: Tailwind CSS 核心库。postcss
: 一个用 JavaScript 工具转换 CSS 的平台,Tailwind 依赖它来处理 CSS。autoprefixer
: 一个 PostCSS 插件,可以自动为 CSS 规则添加浏览器厂商前缀。
1.6.2. 生成配置文件
接下来,运行 Tailwind CSS 的初始化命令,它会自动在项目根目录创建两个关键的配置文件:tailwind.config.js
和 postcss.config.js
。
1 | pnpm tailwindcss init -p |
1.6.3. 配置 Tailwind 的模板路径
打开新生成的 tailwind.config.js
文件,我们需要告诉 Tailwind 去哪里扫描我们的文件,以便它能找到所有使用的原子类并生成对应的 CSS。
文件路径: tailwind.config.js
(修改)
1 | /** @type {import('tailwindcss').Config} */ |
这个配置意味着 Tailwind 会去扫描根目录的 index.html
文件以及 src
目录下所有以 .js
, .ts
, .jsx
, 或 .tsx
结尾的文件。
1.6.4. 引入 Tailwind 指令
现在,我们需要在我们的主 CSS 文件中引入 Tailwind 的三个核心指令层。
打开 src/index.css
文件,清空所有内容,然后替换为以下三行:
文件路径: src/index.css
(修改)
1 | @tailwind base; |
1.6.5. 清理并验证
为了避免样式冲突,请确保 src/App.css
文件是空的,并且 src/App.tsx
中没有 import './App.css'
。
现在,重新运行 pnpm run dev
,并用以下代码替换 src/App.tsx
的内容来验证 Tailwind 是否生效:
文件路径: src/App.tsx
(临时修改以验证)
1 | function App() { |
如果页面背景变为深灰色,文字变为白色且带有下划线,那么 Tailwind CSS 已成功集成!至此,一个专业、高效且规范化的本地 React 开发环境已经搭建完毕。它为您后续深入学习 React 的核心概念和生态工具,提供了一个坚如磐石的起点。