纯html项目可直接部署到vercel,需满足:根目录有index.html、资源用根相对路径(如/css/style.css)、为纯静态产物;部署时选static site框架、build command留空、output directory设为.或dist;必须通过git推送实现可持续部署。

纯 HTML 项目能直接上 Vercel,但不是“扔进去就跑”——它只托管你提交的文件,不运行本地服务器,也不修正路径错误。只要满足三个硬条件:根目录有 index.html、所有资源用根相对路径(如 /css/style.css)、代码是纯静态产物(不依赖 python -m http.server 或 vite preview),就能零配置上线。
根目录必须有 index.html,且不能藏在子目录里
Vercel 默认把 Git 仓库的根当作网站根路径。如果你的 index.html 在 /src/index.html 或 /dist/index.html,它会 404,除非你手动指定输出目录。
- ✅ 正确结构:
your-repo/index.html、your-repo/style.css、your-repo/images/logo.png - ❌ 错误结构:
your-repo/src/index.html(部署后访问https://xxx.vercel.app/返回 404) - ⚠️ 如果必须用
dist/目录(比如 Vite 构建产出),部署时在 Vercel 控制台填Output Directory为dist;用 CLI 部署则执行vercel --prod后,在? Output Directory:提示处输入dist
所有资源路径必须用根相对路径(以 / 开头)
本地双击 index.html 能打开,不代表 Vercel 上能加载 CSS/JS/图片。浏览器在 Vercel 上按 URL 路径解析相对地址,而本地文件系统不走 HTTP 协议,行为完全不同。
将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
- ✅ 推荐写法:
<link href="/style.css" rel="stylesheet">、<img src="/images/logo.png"> - ❌ 危险写法:
<img src="images/logo.png">(在/blog/index.html页面中会尝试加载/blog/images/logo.png,404) - ⚠️ 不要用
./或../,Vercel 不做路径归一化;也别加<base href="/subpath/">,除非你明确需要并配好vercel.json重写规则
别让 Vercel 误判成需要构建的项目
Vercel 看到 package.json 或 node_modules,可能自动触发 Node.js 构建流程——这对纯 HTML 是多余且有害的,会导致部署变慢、路径错乱甚至失败。
- ✅ 部署前删掉:
node_modules/、package-lock.json(可留package.json,但建议也删,除非你后续要加 Serverless Function) - ✅ Vercel 控制台部署时:
Framework Preset选Static Site,Build Command留空,Output Directory填.(根目录)或dist(如有) - ⚠️ 不要新建
vercel.json强制设框架类型,Vercel 对纯 HTML 的自动识别更稳;也不要手动填Build Command: echo "no build",这反而会绕过静态托管逻辑
Git 推送才是唯一可持续的部署方式
虽然 Vercel 支持拖拽上传单个 ZIP,但它不支持自动更新、无法绑定自定义域名、也不能回滚版本——真正用起来,必须走 Git。
- ✅ 标准流程:本地
git init && git add . && git commit -m "deploy"→ 推到 GitHub/GitLab → Vercel 导入仓库 → 点 Deploy - ✅ 后续更新只需
git push,Vercel 自动拉取、重新部署,URL 不变 - ⚠️ 国内访问
.vercel.app域名大概率需科学上网;自定义域名虽可绑,但 DNS 解析和 HTTPS 证书签发常卡在验证环节,这是上线后最常被忽略的实际延迟点
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










