vibe-vibe |基础版

文章目录

常用部署平台:

  • Vercel
  • Netlify
  • GitHub Pages

https://www.vibevibe.cn/Advanced/01-environment-setup/





部署平台对比


Vercel

官网:vercel.com

简介:最流行的前端部署平台,Next.js 的官方部署平台。

  • 免费额度:
    无限静态网站
    每月 100GB 流量
    Serverless 函数有限制
  • 优点:
    部署超级简单(连接 GitHub 后自动部署)
    预览功能好用(每个 PR 都有预览链接)
    和 Next.js 无缝配合
    全球 CDN,访问快

GitHub Pages

官网:pages.github.com

简介:GitHub 提供的免费静态网站托管服务。

Railway

官网:railway.app

简介:适合部署有后端服务的应用。

Cloudflare Pages

官网:pages.cloudflare.com

简介:Cloudflare 推出的静态网站托管服务。


基本流程:

把代码推送到 GitHub

在部署平台连接 GitHub 仓库

平台自动检测、构建、部署

获得一个可访问的网址


第一次部署?选 Vercel。操作简单,文档齐全,社区活跃。遇到问题容易找到答案。


next.js有什么功能

一、核心功能(极简版)

React 全栈框架,解决 SEO / 首屏慢痛点

支持 SSG/ISR/SSR/CSR 四种渲染,静态优先

文件路由 + API 路由,零配置前后端开发

内置资源优化,一键部署

二、性能优化(核心 3 条)

优先用 SSG/ISR,少用 SSR/CSR

图片全换<Image />组件

依赖框架自动代码分割 / 预取

一句话总结

Next.js:React 全栈 + 高性能 + 易部署;优化关键:静态优先 + 用好内置组件

  1. SSG(静态站点生成 Static-Site Generation)
    • 渲染时机:项目构建时生成静态 HTML
    • 特点:加载极快、SEO 满分,服务器无压力
    • 适用:内容不变的页面(官网、博客、文档)
  2. ISR(增量静态再生 Incremental Static Regeneration)
    • 渲染时机:构建时生成+运行时按需更新
    • 特点:兼具 SSG 的性能和数据新鲜度,不用重新打包整个项目
    • 适用:需定时更新的页面(商品列表、资讯首页)
  3. SSR(服务端渲染 Server-Side Rendering)
    • 渲染时机:用户每次请求时在服务端渲染
    • 特点:数据实时,服务器有压力,性能比 SSG/ISR 弱
    • 适用:实时数据页面(订单详情、用户实时信息)
  4. CSR(客户端渲染 Client-Side Rendering)
    • 渲染时机:浏览器端渲染(React 原生模式)
    • 特点:交互强,首屏慢、SEO 差
    • 适用:无需 SEO 的页面(后台管理系统、用户中心)


Prisma Migrate & Prisma Studio ------ 配套的数据库管理工具

Prisma 是一款专为 Node.js 和 TypeScript 打造的现代、类型安全的开源 ORM(对象关系映射)工具,也是目前 Node.js/TS 生态中最主流、最受欢迎的数据库工具之一。

ORM(Object Relational Mapper,对象关系映射) 是一种编程思想 / 技术,核心作用是:把「数据库中的表 / 关系」映射成「编程语言中的对象 / 模型」。

数据库的「表」→ 代码中的「模型类」

表的「行数据」→ 代码中的「对象实例」

表的「字段」→ 对象的「属性」

表的「关联关系」→ 对象的「关联属性」

====

Prisma Schema 文件(schema.prisma)------ 整个 Prisma 的「核心灵魂」

这是一个声明式的配置文件(项目根目录下的 schema.prisma),是你唯一需要手动编写数据库相关配置的地方,所有 Prisma 能力都基于这个文件生成。

Prisma Client ------ 自动生成的「类型安全数据库客户端」

Prisma Client 是你在业务代码中唯一需要调用的核心库,它是基于你编写的 schema.prisma 文件,自动生成的、强类型的数据库操作客户端(npm 包:@prisma/client)。

====

  1. 完全类型安全:基于 TS,所有数据库操作、数据模型、字段都有严格的类型校验,IDE 会提供完美的智能提示和语法补全;
  2. 零冗余:只生成你定义的模型相关的 API,体积极小;
  3. API 设计极简:提供直观的链式调用方法,比如 findMany()、create()、update()、delete()、findUnique() 等;
  4. 编译期报错:如果你的查询语句写错了字段名、传错了参数类型,在代码编写阶段(编译期)就会报错,而不是在运行期才发现问题。

代码改崩了怎么办

  • 使用 AI IDE 自带的历史功能回退代码
  • 用手动方式保存项目的重要版本
  • 使用 GitHub Desktop 进行版本管理(可选)
  • 把项目上传到 GitHub 云端备份(可选)

我们会介绍三种方案,从简单到进阶:

  • AI IDE 自带的历史功能:最简单,立即可用
  • 手动复制文件夹:最直观,人人都会
  • GitHub Desktop:更专业,为进阶版打基础

AI IDE

如何找到历史:

在左侧 Explorer 面板底部,找到 Timeline 区域

点击展开,可以看到当前文件的所有历史版本

每次保存都会自动记录一个版本

如何回退:

在 Timeline 中找到想要恢复的时间点

右键点击该版本

选择"Restore Contents"恢复文件内容


另一种方式:

右键点击文件 → 选择 Local History → Find Local History

可以看到更详细的历史记录

注意事项

Timeline 仅保存在本地,换电脑就没了

历史记录有数量和时间限制

建议重要节点配合手动备份

Windsurf

Windsurf 有独特的 Cascade Checkpoints 功能

如何找到历史:

打开 Cascade 面板(通常在右侧)

找到 Checkpoints 或 Named Checkpoints 选项

可以查看之前保存的检查点

如何回退:

选择想要恢复的检查点

点击 Revert 按钮

代码会回到该检查点的状态

特色功能:

可以给检查点命名,方便识别

支持在不同检查点之间快速切换

Trae

Trae(包括国际版和国内版)提供 Diff View 功能来查看代码变更。

如何找到历史:

使用 Diff View 工具查看代码变更历史

可以看到每次 AI 修改的内容对比

如何回退:

在 Diff View 中查看具体改动

手动撤销不需要的改动

或使用 IDE 的 Undo 功能

手动管理版本

最简单的版本管理方法:定期复制文件夹。

基本操作

找到你的项目文件夹(比如 todo-list)

复制整个文件夹

给副本起个有意义的名字

继续在原文件夹里开发

就这么简单。

格式建议

复制代码
项目名-v版本号-功能描述/

待办清单项目示例

复制代码
todo-list/                          ← 当前开发的版本
todo-list-v1-基础功能完成/            ← 第一个能用的版本
todo-list-v2-添加删除功能/            ← 添加了删除功能
todo-list-v3-数据保存/               ← 添加了 localStorage
todo-list-v4-深色模式尝试/            ← 准备大改之前的备份

如果你更喜欢用日期

复制代码
todo-list/
todo-list-20250107-基础完成/
todo-list-20250108-删除功能/
todo-list-20250108-数据保存/
复制代码
使用 GitHub Desktop 的日常流程很简单:


改代码 → 保存文件 → Commit(存档)→ Push(上传云端)
                         ↓
                可以随时查看历史
                可以随时回退到任何存档点

推荐的 Commit 时机

  • 添加了一个新功能
  • 修复了一个问题
  • 调整了样式/布局
  • 重构了代码结构
  • 准备下班/休息

应该提交的文件

  • 你写的代码(HTML、CSS、JavaScript 等)
  • 项目配置文件
  • 文档和说明
  • 日常依赖 AI IDE 自带历史
  • 完成重要功能时手动备份一个文件夹
  • 项目完成后考虑上传到 GitHub

想要专业一点:

  • 从一开始就用 GitHub Desktop
  • 每完成一个功能就 Commit
  • 每天结束时 Push 到云端

把网页发到互联网上

Vercel 和 Netlify 的默认域名(*.vercel.app / *.netlify.app)在中国大陆被 DNS 污染,直接访问会失败或非常慢。


添加新功能的安全流程

在动手之前,有一个重要原则:

黄金法则

每次添加新功能前,先保存当前版本。

按照这个流程操作:

  1. 确认当前版本能正常运行
  2. 用 GitHub Desktop 提交一次(Commit)
  3. 写 Prompt 让 AI 添加新功能
  4. 测试新功能
  5. 如果成功 → 再 Commit 一次
    如果失败 → 回滚到上一版
    这样,即使新功能改崩了,你也能随时恢复。(这就是 5.1 节学的版本管理的用处)

用 S.C.A.F.F. 框架写功能扩展 Prompt

复制代码
【情境】
我有一个待办清单项目,目前实现了:
- 添加任务
- 删除任务
- 标记任务完成
- 使用 localStorage 保存数据

技术栈:HTML + CSS + JavaScript(纯前端,没有后端)

【挑战】
我想给任务添加"分类标签"功能。用户可以:
1. 创建任务时选择一个分类(工作/生活/学习)
2. 按分类筛选任务
3. 每个分类用不同的颜色显示

【请求】
请帮我修改代码实现这个功能。

【格式】
1. 先说明需要修改哪些部分
2. 给出修改后的完整代码
3. 说明如何测试这个功能

【限制】
- 保持现有功能不变
- 使用现有的代码风格
- 分类数据也要保存到 localStorage

各功能的prompt模板

各功能的 Prompt 模板

这里提供几个常用功能的 Prompt 模板,你可以直接复制使用,只需要把 [方括号里的内容] 替换成你的实际情况。

优先级标记

复制代码
我的待办清单项目需要添加"优先级"功能:
- 每个任务可以设置优先级:高/中/低
- 高优先级用红色标记,中优先级用黄色,低优先级用灰色
- 默认优先级是"中"
- 可以按优先级排序显示(高的在上面)

当前项目技术栈:[HTML + CSS + JavaScript / 其他]
数据存储方式:[localStorage / 其他]

请修改代码实现这个功能,保持现有功能正常。

搜索功能

复制代码
我的待办清单需要添加搜索功能:
- 在任务列表上方添加一个搜索框
- 输入关键词时,实时筛选包含该关键词的任务
- 搜索框为空时显示所有任务
- 搜索不区分大小写

当前项目技术栈:[你的技术栈]

请给出实现代码。

深色模式

复制代码
我的待办清单需要添加深色模式切换功能:
- 在页面右上角添加一个切换按钮(太阳/月亮图标)
- 点击可以在浅色/深色模式之间切换
- 记住用户的选择(下次打开还是同样的模式)

当前的颜色方案:
- 背景色:[白色]
- 文字颜色:[黑色]
- 主题色:[蓝色]

请给出实现代码,包括深色模式的配色建议。

截止日期

复制代码
我的待办清单需要添加截止日期功能:
- 创建任务时可以选择截止日期(可选,不是必填)
- 任务卡片上显示截止日期
- 已过期的任务用红色高亮显示
- 今天到期的任务用黄色高亮显示

当前项目技术栈:[你的技术栈]
数据存储方式:[localStorage / 其他]

请给出实现代码。

实战案例:添加分类标签

第一轮:说明需求

你发送的 Prompt(使用上面的 S.C.A.F.F. 模板)后,AI 会返回修改方案和代码。

第二轮:测试发现问题

测试后,你可能发现问题:

复制代码
分类功能基本可以用了,但有个问题:
切换分类筛选时,如果当前分类下没有任务,页面是空白的,用户会困惑。

请添加一个提示,当筛选结果为空时显示"暂无任务"。

第三轮:微调细节

复制代码
现在"暂无任务"的提示可以显示了,但文字颜色太浅,不太明显。
请把提示文字改成灰色,并加粗显示。

这就是迭代的过程:做一版 → 发现问题 → 再改进。

检查代码重复

复制代码
请检查我的代码,有没有重复的逻辑?
如果有,请帮我提取成一个可复用的函数。

[粘贴你的代码]

为什么重要:重复的代码意味着,如果要改某个逻辑,你需要改多处。容易漏改,产生 bug。

改进变量命名

复制代码
请检查我的代码中的变量和函数命名,有没有不够清晰的?
请给出改进建议,让代码更容易读懂。

[粘贴你的代码]

添加中文注释

请给这段代码添加中文注释,解释:

复制代码
1. 每个函数是做什么的
2. 关键的代码块在处理什么逻辑
3. 不容易理解的地方
[粘贴你的代码]

为什么重要:一个月后你再看自己的代码,没有注释的话可能完全看不懂。注释是写给未来的自己的。

检查潜在 bug

复制代码
请检查我的代码,有没有潜在的问题或 bug?
特别关注:
1. 可能导致报错的边界情况
2. 数据为空时的处理
3. 用户输入的验证

[粘贴你的代码]

常见问题举例:

  • 用户没输入就点了添加按钮
  • 任务列表为空时的显示
  • 数据格式不对时的处理

性能优化建议

复制代码
- 请检查我的代码,有没有可以优化性能的地方?
- 我的项目是一个待办清单,数据量不大(最多几十条任务)。
- 请只给出对我这个规模有意义的优化建议。

[粘贴你的代码]

对于小项目的说明:对于待办清单这样的小项目,性能通常不是问题。不要过度优化。如果 AI 给了很复杂的优化建议,可以先不做。

一个完整的代码审查 Prompt

如果你想让 AI 做一次全面的代码审查,可以用这个模板:

复制代码
请帮我审查这段代码,从以下几个角度给出改进建议:

1. 代码结构:有没有重复的逻辑?可以怎么简化?
2. 可读性:变量命名是否清晰?需要添加注释吗?
3. 健壮性:有没有可能报错的边界情况?
4. 安全性:有没有明显的安全问题?

请按优先级排序你的建议(先说最重要的),并给出具体的修改方案。

代码如下:
[粘贴你的代码]

代码审查的基本意识

如果看不太懂代码也没关系。至少做到:

  • 运行测试一下,看功能是否正常
  • 看看关键部分,比如处理用户输入的地方
  • 有疑问就问 AI:"这段代码是在做什么?有没有问题?"

Vibe Coding

一个共同特征:问题边界清晰

如果你仔细看上面六个场景,会发现它们有一个共同特征:
问题的边界是清晰的。

  • 个人工具:你自己用,需求你说了算
  • 原型验证:只需要"能演示",不需要"能上线"
  • 效率脚本:输入输出明确
  • 数据分析:数据是固定的,分析目标是明确的
  • 静态网站:内容是确定的,交互很简单
  • 学习概念:目标是"理解",不是"生产"

当问题边界清晰时,AI 能很好地理解你的意图,生成的代码大概率能直接用。

什么信号告诉你需要学习更多

信号一:同一个 bug 反复出现

表现:

你让 AI 修了一个 bug,过几天又出现了

AI 每次给的修复方案都不一样,但问题还是会复发

"修了这里,坏了那里"的情况频繁发生

背后原因:AI 只能看到表面症状,不理解问题的根本原因。它给的是"止痛药",不是"根治方案"。

需要学习的方向:调试基础、程序运行原理

信号二:项目越改越乱

表现:

代码文件越来越多,你不知道每个文件是干什么的

同样的功能在好几个地方都有,不知道改哪个

每次添加新功能都提心吊胆,怕影响已有功能

背后原因:缺乏代码组织的知识。AI 生成的代码是"能用",但不一定"好维护"。

需要学习的方向:代码结构、模块化、设计模式基础

信号三:撞上"80% 墙"

表现:

项目初期进展很快,现在每加一个功能都要花很长时间

AI 的回答开始变得不靠谱,经常"忘记"之前的约定

你开始怀疑是不是要推翻重来

背后原因:项目复杂度超出了 AI 的"上下文窗口"能力。

需要学习的方向:项目规划、架构设计、或者学会拆分项目

信号四:想要用户登录功能

表现:

你想让用户注册账号、登录

你想让用户的数据保存在云端,换设备也能用

你想区分不同用户,让他们只能看到自己的数据

背后原因:这需要"后端"和"数据库"------基础版没有涵盖的内容。

需要学习的方向:后端开发、数据库、用户认证(进阶版内容)

信号五:想做手机 App

表现:

你想让作品在手机上像"真正的 App"一样运行

你想发布到应用商店

你想使用手机特有的功能(摄像头、推送通知等)

背后原因:网页和 App 是不同的技术栈,需要额外的知识。

需要学习的方向:移动开发基础、或者 PWA(渐进式网页应用)

信号六:AI 的回答越来越离谱

表现:

AI 给的代码完全跑不起来

AI 开始"胡说八道",给出不存在的函数或库

你问同一个问题,每次得到完全不同的答案

背后原因:你的需求已经超出了 AI 的能力边界,或者你的问题描述让 AI 无法理解。

需要学习的方向:

如果是简单问题:提高提示词质量(回顾第三章)

如果是复杂问题:学习更多编程知识,减少对 AI 的依赖




Vibe Coding 不擅长的五大场景

场景一:复杂业务逻辑

场景二:大型项目

场景三:安全关键功能

场景四:性能优化

场景五:调试复杂 bug

复制代码
基础版毕业
    │
    ├─→ 如果只想做个人工具 → 继续用基础版,享受创造的乐趣
    │
    └─→ 如果想突破边界 → 进入进阶版
                            │
                            ├─→ Bootcamp:补齐计算机基础
                            │
                            ├─→ 前端深入:组件化、状态管理
                            │
                            ├─→ 后端入门:API、数据库
                            │
                            ├─→ 全栈整合:做一个完整应用
                            │
                            └─→ 部署运维:让应用稳定运行
相关推荐
西岸行者7 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意7 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码7 天前
嵌入式学习路线
学习
毛小茛7 天前
计算机系统概论——校验码
学习
babe小鑫7 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms7 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下7 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。7 天前
2026.2.25监控学习
学习
im_AMBER7 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J7 天前
从“Hello World“ 开始 C++
c语言·c++·学习