一、先明确你的优势(不用从零学)
你已有 Vue3+TS+Node+Express+MySQL+JWT 基础,这些能力可以直接迁移:
- TS 能力完全通用(Next.js 写 TS 和 Vue3 写 TS 核心都是类型约束);
- Node/Express 经验 → 能快速理解 Next.js 的服务端逻辑(API 路由、SSR 等);
- MySQL 经验 → 能快速理解 PostgreSQL(都是关系型数据库,语法 90% 通用);
- JWT 鉴权经验 → 后续补充 Clerk 时能快速理解 “身份认证” 的核心逻辑。
二、技术栈拆解:学习方式 + 优先级 + 耗时(按 “必须掌握” 排序)
| 技术点 | 优先级 | 学习方式 | 核心学习目标(聚焦实习面试) | 预估耗时(按你的基础) |
|---|---|---|---|---|
| Next.js(核心) | 最高 | 文档为主 + 1 个精简视频 | 1. 页面路由 / API 路由;2. SSR/CSR/SSG 区别;3. 项目目录结构 | 4-6 小时 |
| TypeScript(复用 + 补充) | 最高 | 文档查漏补缺 | 1. Next.js 中 TS 类型约束(如 API 响应、组件 props);2. 适配 Next.js 内置类型 | 2 小时 |
| Tailwind CSS | 高 | 文档为主 + 实战试错 | 1. 核心语法(原子化类名、响应式、自定义主题);2. 结合 Shadcn UI 使用 | 3-4 小时 |
| Prisma + PostgreSQL | 高 | 文档为主 + 1 个实操视频 | 1. Prisma 模型定义 / 迁移 / CRUD;2. PostgreSQL 基础(和 MySQL 差异点) | 5-7 小时 |
| Zustand | 中 | 文档为主 + 简单示例 | 1. 状态定义 / 使用;2. 跨组件共享;3. 和 Pina 的区别(面试常问) | 2-3 小时 |
| Shadcn UI | 中 | 文档 + 直接上手 | 1. 组件引入 / 自定义;2. 结合 Tailwind 样式覆盖 | 1-2 小时 |
分技术详细建议:
1. Next.js(必须学扎实,面试高频)
- 学习方式:✅ 先看「Next.js 官方文档 - 入门教程」(https://nextjs.org/learn),跟着做一个最小 demo;✅ 再补 1 个精简视频(推荐 B 站「李立超 Next.js 快速上手」或「Codevolution Next.js 教程」,只看核心章节:路由、API 路由、SSR),不用看全量视频;
- 核心重点:
- 搞懂
app目录(Next.js 13+ 主流)的路由规则(比如动态路由[id]); - 能写简单的 API 路由(
app/api/xxx/route.ts),实现前后端交互; - 能说清 “为什么用 Next.js 而不是纯 React”(SSR 优化首屏、SEO、API 路由简化后端)—— 面试必问。
- 搞懂
2. Tailwind CSS(直接上手 + 文档备查)
- 学习方式:✅ 看「Tailwind 官方文档 - 快速开始」+「核心概念」,不用看视频;✅ 直接在项目中写:比如做一个按钮、卡片,边写边查文档(比如
flexpx-4bg-blue-500hover:bg-blue-600); - 核心重点:
- 记住常用类名(布局、间距、颜色、响应式
md:),不用死记,会查就行; - 理解 “原子化 CSS” 的优势(开发快、无样式冲突)—— 面试能说清即可。
- 记住常用类名(布局、间距、颜色、响应式
3. Prisma + PostgreSQL(文档 + 短视频,避免踩坑)
- 学习方式:✅ PostgreSQL:先看「PostgreSQL 和 MySQL 差异点」(文档 / 博客),比如语法差异(
SERIALvsAUTO_INCREMENT),其余复用你的 MySQL 知识;✅ Prisma:看「Prisma 官方快速入门」,跟着做 “模型定义 → 迁移 → CRUD”,补 1 个 5-10 分钟的实操视频(比如 B 站「Prisma 快速上手」),重点看 “Prisma Client 的使用”; - 核心重点:
- 能写 Prisma Schema(模型关联、字段类型);
- 会用
prisma migrate dev做数据库迁移; - 能封装简单的数据库操作(比如查询用户、新增数据)。
4. Zustand(极简,文档 + 对比 Pina 理解)
- 学习方式:✅ 直接看「Zustand 官方文档」(https://zustand-demo.pmnd.rs/),看 3 个核心示例:基本状态、异步操作、状态拆分;✅ 结合你的 Pina 经验:对比两者的 API(比如 Pina 的
defineStorevs Zustand 的create),理解 Zustand 更轻量的原因(无 Provider 包裹); - 核心重点:
- 能在项目中用 Zustand 管理全局状态(比如用户信息、主题);
- 面试时能说清 “为什么选 Zustand 而不是 Redux/Pina”(轻量、无样板代码、TS 友好)。
5. Shadcn UI(直接上手,几乎不用学)
- 学习方式:✅ 看「Shadcn UI 官方文档 - 安装」(https://ui.shadcn.com/docs/installation/nextjs),跟着把组件库装到 Next.js 项目里;✅ 直接引入组件(比如 Button、Card、Input),结合 Tailwind 改样式,边用边查;
- 核心重点:
- 会自定义组件样式(比如覆盖默认颜色、间距);
- 知道 Shadcn UI 是 “原子化组件”(按需引入,不是全局组件库)。
三、冲刺策略:7-10 天落地项目(兼顾速度和基础)
阶段 1:基础搭建(2 天)
- 第 1 天:Next.js + TS 项目初始化,搞定路由 / API 路由,写 1 个简单页面(比如首页);
- 第 2 天:Tailwind CSS + Shadcn UI 集成,实现基础 UI(按钮、卡片、表单)。
阶段 2:数据层开发(3 天)
- 第 3 天:PostgreSQL 安装(本地 / 云服务如 Supabase),Prisma 集成,定义数据模型(比如用户、文章);
- 第 4-5 天:Prisma CRUD 操作,对接 Next.js API 路由,实现 “增删改查”(比如用户注册 / 登录、文章列表)。
阶段 3:状态管理 + 功能完善(2-3 天)
- 第 6 天:Zustand 集成,管理全局状态(比如登录状态、文章列表);
- 第 7-9 天:完善项目功能(比如详情页、编辑页),修复 bug,优化细节;
- 第 10 天:梳理项目亮点,准备面试话术(比如技术选型原因、核心功能实现)。
关键技巧:
- 不要追求 “学完再写”:比如学 Next.js 时,先搭好项目骨架,再边写边补知识点;
- 优先实现核心功能:比如先做 “用户登录 + 文章列表”,再做细节优化(比如样式、动画);
- 文档收藏夹:把每个技术的官方文档 / 常用示例页面收藏,写代码时随时查,不用背;
- 复用你的旧代码:比如把 Vue3 项目中的 “用户认证逻辑”“数据请求逻辑”,改成 Next.js+Prisma 版本,减少重复开发。