主题
第 11 章 部署:从"我电脑上能跑"到"全世界都能用"
部署(Deploy),就是把代码放到全世界访问得到的地方,并让它跑起来。听起来吓人,但我们其实每周都在做,只是它被自动化得太顺滑,顺滑到你没意识到自己在做一件从前很难的事。
一次典型的现代部署长这样:你(或 AI)git push 到 GitHub → Vercel 收到通知,拉取最新代码 → 执行构建(Build):把源代码翻译、打包、压缩成可以上线的成品 → 成品被分发到全球节点 → 上线完成。整条流水线全自动。这就是"我 push 了一下,网站就更新了"的全部原理。
一个常见困惑:**本地明明好好的,为什么一部署 build 就失败?**几乎总是三个原因之一:线上缺环境变量(第 9 章的口袋没配);依赖版本不一致(第 10 章的清单没钉死);或者代码里有本地被宽容、线上被严查的错误。处理方式也固定:把构建日志丢给 AI 看,你看 AI 的结论对不对。
再认识一个宝藏概念:环境不止一个。localhost 是你的私人试验田;**Preview(预览部署)**是 Vercel 给每一次改动单独生成的临时网址——正式上线前,先在预览网址上点一遍;**Production(生产环境)**才是真实用户访问的那个。顺序永远是:本地 → 预览 → 生产。而万一生产出了问题,还有最后的安全网:回滚(Rollback)——一键退回上一个正常版本。为什么能回滚?因为第 8 章说过,每一版都有存档。
关键领悟
部署不是一次惊险的跳跃,而是一条有存档、有预览、能回滚的流水线。理解了流水线,你就再也不怕"上线"两个字。
试一试
打开 Vercel 后台,找到我们项目的 Deployments 列表——每一行就是一次部署,点开看看它对应哪一个 commit。