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、数据库
                            │
                            ├─→ 全栈整合:做一个完整应用
                            │
                            └─→ 部署运维:让应用稳定运行
相关推荐
li星野2 小时前
OpenCV4X学习-图像边缘检测、图像分割
深度学习·学习·计算机视觉
知识分享小能手2 小时前
Oracle 19c入门学习教程,从入门到精通,SQL语言基础详解:语法、使用方法与综合案例(5)
sql·学习·oracle
好奇龙猫2 小时前
【大学院-筆記試験練習:数据库(データベース問題訓練) と 软件工程(ソフトウェア)(11)】
学习
:mnong2 小时前
通过交互式的LLM算法可视化工具学习大语言模型原理
学习·算法·语言模型
JeffDingAI2 小时前
【Datawhale学习笔记】Word2Vec
笔记·学习·word2vec
Nan_Shu_6142 小时前
学习: Threejs (11)& Threejs (12)
学习
QiZhang | UESTC2 小时前
学习日记day59
学习
Engineer邓祥浩2 小时前
设计模式学习(14) 23-12 代理模式
学习·设计模式·代理模式
dulu~dulu2 小时前
英语完形填空题型总结
笔记·学习·英语完形填空·自用