Vercel部署纯HTML项目需满足三个硬条件:入口文件index.html必须在根目录、所有资源使用相对路径、必须通过Git仓库推送而非拖拽上传。

HTML 项目直接扔上去就能跑,但得满足三个硬条件
Vercel 部署纯 HTML 项目不需要构建步骤,但不是所有“拖进去就生效”。它默认按静态站点处理,前提是入口文件是 index.html,且所有资源路径是相对的(不是 file:/// 或绝对本地路径)。常见失败是因为本地双击打开能看,上传后 404 或样式丢失——本质是路径解析逻辑变了。
-
index.html必须在根目录,不能藏在/src或/dist里(除非手动配置build.outputDirectory) - 图片、CSS、JS 的引用必须用相对路径,比如
./style.css,别用file://C:/.../style.css - 如果用了
localhost:5500这类本地服务调试,检查浏览器控制台有没有混合内容(Mixed Content)报错——HTTP 资源被 HTTPS 页面拦截
Git 仓库推送到 Vercel 是最稳的方式
虽然 Vercel 支持拖拽上传,但仅限单次部署、无法自动更新、不支持自定义域名绑定。真正用起来,必须走 Git 集成。它不是“多一步”,而是避免后续反复手动上传的唯一靠谱路径。
- 把 HTML 项目初始化为 Git 仓库:
git init && git add . && git commit -m "first commit" - 推到 GitHub / GitLab / Bitbucket 任意平台(公开或私有都行)
- Vercel 控制台点
Add New Project→ 选对应仓库 → 点 Deploy,全程无配置项 - 部署成功后,Vercel 自动生成
xxx.vercel.app域名;后续git push就自动重新部署
遇到 404 或资源加载失败,先查这几处
Vercel 的静态托管行为和本地文件系统不同:它不运行本地服务器,也不识别 file: 协议。很多“本地能跑”的问题,根源都在路径假设错误。
- 浏览器地址栏显示
https://xxx.vercel.app/subpage.html,但页面里写了<link href="/css/style.css">→ 这个/css/会从根开始找,没问题;但如果写成<link href="css/style.css">(缺开头的/),它会按当前 URL 目录拼接,变成/subpage.html/css/style.css,404 - 图片用
<img src="images/logo.png">没问题,但若 HTML 文件本身不在根目录(比如放在/pages/about.html),就得改成<img src="../images/logo.png">或统一用根相对路径/images/logo.png - Vercel 默认不处理
.htaccess或重定向规则;需要 SPA 路由(如 React Router)时,必须加vercel.json配置rewrites,纯 HTML 不需要
想用自定义域名?别跳过 DNS 验证这步
绑定自己的域名(比如 my-site.com)本身很简单,但 DNS 解析生效慢、验证容易卡住,是上线后最常被忽略的延迟点。
立即学习“前端免费学习笔记(深入)”;
- 在 Vercel 项目 Settings → Domains 里添加域名,它会给出 CNAME 记录值(通常是
cname.vercel-dns.com) - 去你的域名服务商后台,删掉旧的 A 记录或 CNAME,新增一条 CNAME 记录,主机名填
@(根域名)或www,值粘贴 Vercel 给的 - DNS 生效可能要 1–48 小时;期间 Vercel 控制台会显示 “Verifying…” —— 别急着重试,等状态变绿就行
- 如果域名已用 HTTPS,Vercel 会自动申请并续期 Let’s Encrypt 证书;没配好 DNS 前,HTTPS 状态一直是 pending











