当前位置: 首页 > news >正文

轻松上手:使用 Vercel 部署 HTML 页面教程

😀 在学习前端的过程中,部署项目往往是一个令人头疼的问题。然而,Vercel 为我们提供了一个便捷且免费的解决方案。

Vercel 是一个强大的云平台,专门用于前端项目的部署和托管。它不仅支持多种前端框架和静态网站生成器,还能够自动进行构建和部署,为开发者提供了高效、便捷的开发体验。而且,Vercel 提供了一定的免费额度,每个月有[100G]的免费流量资源,对于学习和小型项目来说已经足够,甚至是个人博客站点也完全可以满足(eg:本博客即部署在Vercel平台)

接下来,我将详细介绍如何使用 Vercel 部署 HTML 页面。

本文示例项目为本人开源项目:

https://github.com/BDTA-zky/GeoWelcome

本文同步更新于个人博客:blog.buzzchat.tophttps://blog.buzzchat.top


一、引言

1.1 Vercel 简介

Vercel 作为现代化的云平台,在前端项目部署方面具有显著优势。它能够快速构建和部署项目,同时保证良好的性能和稳定性。

Vercel: Build and deploy the best web experiences with the Frontend Cloudhttps://vercel.com/

1.2 本教程的主要内容和目标

本教程将引导您完成以下关键步骤:

  1. 准备所需的账号和工具。
  2. 通过两种方式(Git 方式和直接在页面中上传方式)将项目上传至 GitHub 仓库。
  3. 在 GitHub 仓库中添加 vercel.json 文件进行配置。
  4. 将 GitHub 仓库连接到 Vercel 并完成部署。
  5. 解决国内访问的问题,实现域名解析以确保在国内能够正常访问。

二、准备工作

2.1 注册 Vercel 账号

访问 Vercel 官网(https://vercel.com/) ,点击“Sign Up”按钮,使用电子邮件地址进行注册。注册完成后,记得查看验证邮件并进行验证。

2.2 注册 GitHub 账号(若选择使用 Git 上传)

前往 GitHub 官网(https://github.com/),点击“Sign up for GitHub”按钮,按照提示完成注册流程。


三、上传项目至 GitHub 仓库(Git 方式)

3.1 在本地创建包含 HTML 文件及相关资源的项目文件夹

打开您常用的代码编辑器(推荐VS Code),创建一个新文件夹作为项目目录。在该文件夹中,创建一个 HTML 文件(如 index.html),并添加您的 HTML 代码。同时,您还可以添加其他相关资源文件,如 CSS 文件、JavaScript 文件、图片等。

18994f293bf04a6199d3b47aef0c8d78.png

 

3.2 初始化 Git 仓库并进行必要配置

在项目文件夹中,打开终端或命令提示符,执行以下命令:

git init
git add.
git commit -m "Initial commit"
  • git init:用于在当前项目文件夹中初始化一个 Git 仓库,使其可以进行版本控制操作。
  • git add.:将当前文件夹中的所有文件添加到暂存区,准备进行提交。
  • git commit -m "Initial commit":将暂存区的文件提交到本地仓库,并添加一条提交信息"Initial commit",用于描述这次提交的内容。

3.3 将项目推送到 GitHub 远程仓库

在 GitHub 上创建一个新的仓库。然后,在终端或命令提示符中,运行以下命令将本地仓库与远程仓库关联:

git remote add origin <你的 GitHub 仓库 URL>
git branch -M main
git push -u origin main
  • git remote add origin <你的 GitHub 仓库 URL>:将本地仓库与远程的 GitHub 仓库进行关联,其中 <你的 GitHub 仓库 URL> 是你在 GitHub 上创建的仓库的链接。
  • git branch -M main:将本地仓库的当前分支重命名为 main,以保持与 GitHub 仓库默认分支的一致性。
  • git push -u origin main:将本地的 main 分支推送到关联的 GitHub 仓库的 main 分支上,并设置上游分支,以便后续的推送操作更加方便。

四、上传项目至 GitHub 仓库(直接在页面中上传方式)

4.1 在 GitHub 中创建新仓库

登录 GitHub 账号,点击**“New repository”按钮,创建一个新仓库。填写仓库名称、描述等信息后,点击“Create repository”**按钮。

d65adb426cb44152b5d95692b2b4e636.png

4.2 通过网页界面直接上传项目文件

在创建好的仓库页面中,点击“Upload files”按钮,选择本地的项目文件进行上传。您可以上传单个文件或整个文件夹。95b3f07de009497bac355b3d016d31fa.png


五、在 GitHub 仓库中添加 vercel.json 文件

5.1 解释 vercel.json 文件的作用

vercel.json 文件是用于配置 Vercel 项目的重要文件,它可以指定项目的构建选项、路由规则、环境变量等信息,确保项目在 Vercel 上能够正确构建和运行。

5.2 提供 vercel.json 文件的示例内容及配置说明

以下是一个简单的 vercel.json 文件示例:

{"version": 2,"builds": [{"src": "index.html","use": "@vercel/static"}],"routes": [{"src": "/","dest": "/index.html"}]
}

在这个示例中:

  • "version": 2:表示这个vercel.json文件的版本是2。这有助于Vercel识别和正确处理该配置文件。
  • "builds":这个部分用于指定项目的构建信息。
    • "src": "index.html":表示要构建的源文件是index.html。这意味着Vercel会将这个文件作为构建的基础。
    • "use": "@vercel/static":指定了使用@vercel/static构建器来处理构建过程。这个构建器可能会对index.html文件进行一些处理,以确保它能够在Vercel上正确运行。
  • "routes":用于定义路由规则,决定了不同的URL路径如何映射到实际的文件或处理逻辑。
    • "src": "/":表示当访问根路径(即/)时。
    • "dest": "/index.html":表示将根路径的请求重定向到/index.html文件。也就是说,当用户访问您的网站的根目录时,Vercel会将其指向index.html文件,从而显示该文件的内容。

六、将 GitHub 仓库连接到 Vercel 并进行部署

6.1 在 Vercel 平台中关联 GitHub 仓库

登录 Vercel 账号,点击“Import Project”按钮,选择“GitHub”作为导入源。然后,授权 Vercel 访问您的 GitHub 账号,并选择要部署的仓库。

888f14a5f3bb46139d4c266cd1516d3f.png

6cfacdd3bdc24070a8d34e416da3593b.png

6.2 对 Vercel 项目进行设置

导入项目后,您可以对项目进行一些设置,如项目名称、环境变量等。根据实际需求进行相应的配置。(没有其余特殊文件的话,直接修改名字部署即可)

b1bc8ac81a6340f6a554cccbeb3b8982.png

6.3 启动部署过程并监控部署状态

完成项目设置后,点击“Deploy”按钮启动部署过程。Vercel 将自动进行构建和部署,并在部署完成后提供一个访问链接。您可以通过该链接查看您部署的 HTML 页面。eee563f16a0d4bbc990a2eaa9a918be0.png


七、解决国内访问问题 - 域名解析

7.1 教程前需了解的内容

vercel.app 作为一个广泛使用的域名,由于其使用量较大,可能在国内部分地区出现访问受限的情况。为了确保在国内能够顺利访问通过 Vercel 部署的网站,进行域名解析是必要的操作。

域名解析可以帮助我们将自定义的域名与 Vercel 提供的服务进行关联,从而提高国内访问的稳定性和流畅性。

7.2 推荐平台

在进行域名解析之前,您需要先购买一个域名。这里为您推荐两个常用的域名购买平台:

  1. 阿里云:阿里云是国内领先的云服务提供商,其域名服务功能丰富,操作简便。您可以通过访问阿里云域名购买页面来选购您心仪的域名。
  2. 腾讯云:腾讯云也是一个不错的选择,它提供了多种域名后缀可供选择,并且价格相对较为合理。您可以前往腾讯云域名购买页面进行域名购买。

7.3 在 Vercel 控制台添加域名

在 Vercel 控制面板中,依次点击 Settings → Domains → Add,在此处您可以输入您想要绑定的域名。需要注意的是,一个项目可以绑定多个域名。

b4854fc5ec424ce1924776a659c2cf7e.png

当您输入域名并点击 Add 后,如果出现提示(Invalid Configuration),这意味着域名已经成功添加,但还需要您根据提示通过添加 CNAME 或 Nameserver 的方式来激活该域名。

7.4 域名解析

在进行域名解析时,Vercel 官方虽然提供了默认的解析方式,但为了获得更好的国内访问效果,我们推荐使用 Vercel 为国内用户提供的单独的 IP 和 CNAME 地址。这些中国特供的地址能够更快地提升国内用户的访问速度和稳定性。中国特供的地址如下:

<aside> 💡

  • A 记录地址:76.223.126.88 或 76.76.21.98 等
  • CNAME 记录地址:cname-china.vercel-dns.com 

A 记录和 CNAME 记录的区别

  • A 记录:将域名直接指向一个 IPv4 地址。
  • CNAME 记录:将域名作为别名指向另一个域名。

域名解析示例

我购买的域名是 buzzchat.top,现在我将其解析为一个子域名 geowelcome。

d7c4306b2b1f4ea2a07d4420475e7511.png

在域名管理后台,我将主机记录设置为“geowelcome”,记录类型选择“CNAME”,在“记录值”中填入“cname-china.vercel-dns.com”。

通过这样的设置,我以后如果做其他网页,比如 a.buzzchat.top,b.buzzchat.top,都可以重复上述步骤,复用同一个域名 buzzchat.top,只需将主机记录分别设置为“a”和“b”,并按照相同的方式设置 CNAME 记录即可。

7.5 提升 Vercel 站点在国内的访问效率

使用 Vercel 时,可能会遇到在国内访问速度一般且不稳定的情况,尤其是对于部分地区的用户来说,访问可能会受到一定的限制。为了提升 Vercel 站点在国内的访问效率,我们可以采取一些措施。

一种方法是将网站进行备案,然后购买国内服务商的 CDN 服务,如腾讯云的 CDN 或 EdgeOne。这样可以通过国内的节点来加速访问,提高用户的体验。

另一种较为简便的方法是利用一些国人开放的 CDN 项目,例如:

提升部署在cloudflare、vercel或netlify的网站在中国国内的访问速度和稳定性

https://github.com/xingpingcn/enhanced-FaaS-in-China

这些项目可以在一定程度上改善国内访问的速度和稳定性。


八、总结

通过本教程,我们学习了如何使用 Vercel 部署 HTML 页面,并解决了国内访问的问题。希望同学们能够顺利地将自己的前端项目部署到 Vercel 上,为学习和实践提供更好的支持。


💡 有关本篇博客的任何问题、或者任何想法和建议等,欢迎您在底部评论区留言,一起交流~

 

 

相关文章:

轻松上手:使用 Vercel 部署 HTML 页面教程

&#x1f600; 在学习前端的过程中&#xff0c;部署项目往往是一个令人头疼的问题。然而&#xff0c;Vercel 为我们提供了一个便捷且免费的解决方案。 Vercel 是一个强大的云平台&#xff0c;专门用于前端项目的部署和托管。它不仅支持多种前端框架和静态网站生成器&#xff0…...

如何运用 HTM?

一、HTM 概述 HTM&#xff08;Hierarchical Temporal Memory&#xff0c;分层时序记忆&#xff09;是一种基于神经科学原理构建的计算模型&#xff0c;旨在模拟大脑的学习和记忆机制&#xff0c;以处理复杂的时间序列数据和模式识别任务。它具有独特的架构和算法&#xff0c;能…...

12.16【net】【study】

路由表是路由器或者其他互联网网络设备上存储的一张表&#xff0c;它记录了到达特定网络目的地的路径。路由表中的每一行&#xff08;即一个路由条目&#xff09;包含了目的地网络地址、子网掩码、下一跳地址、出接口等信息。 Destinations&#xff08;目的地&#xff09;和 R…...

2023和2024历年美赛数学建模赛题,算法模型分析!

文末获取历年优秀论文解析&#xff0c;可交流解答 2023年题目分析 MCM&#xff08;Mathematical Contest in Modeling&#xff09; 问题 A&#xff1a;遭受旱灾的植物群落 概述&#xff1a;要求建立预测模型&#xff0c;模拟植物群落在干旱和降水充裕条件下随时间的变化。类…...

Node.js内置模块

1.内置模块 Node.js的中文网参考手册:https://nodejs.cn//api 帮助文档 API文档:查看对应的模块,左边是模块,右边是模块的成员 源码:https://github.com/nodejs/node/tree/main/lib 查看 例如: http.js 创建web服务器的模块 -->进入源码中,搜索…...

测评|携程集团25年社招在线测评北森题库、真题分析、考试攻略

携程集团社招入职测评北森题库主要考察以下几个方面&#xff1a; 1. **言语理解**&#xff1a;这部分主要测试应聘者运用语言文字进行思考和交流、迅速准确地理解和把握文段要旨的能力。 2. **资料分析**&#xff1a;包括文字题和图表题&#xff0c;考察应聘者快速找出关键信息…...

快速启动Go-Admin(Gin + Vue3 + Element UI)脚手架管理系统

Go-Admin 是一个基于 Gin Vue Element UI & Arco Design & Ant Design 的前后端分离权限管理系统脚手架。它包含了多租户支持、基础用户管理功能、JWT 鉴权、代码生成器、RBAC 资源控制、表单构建、定时任务等功能。该项目的主要编程语言是 Go 和 JavaScript。 ps&a…...

数据分流:优化数据处理流程的关键策略

引言 在大数据时代&#xff0c;企业面临着数据量的激增和数据类型的多样化。为了有效地管理和分析这些数据&#xff0c;数据分流成为了一个重要的策略。数据分流指的是将数据按照特定的规则和流程分配到不同的处理路径&#xff0c;以优化数据处理效率和准确性。本文将探讨数据…...

RabbitMQ如何构建集群?

大家好&#xff0c;我是锋哥。今天分享关于【RabbitMQ如何构建集群&#xff1f;】面试题。希望对大家有帮助&#xff1b; RabbitMQ如何构建集群&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在RabbitMQ中&#xff0c;集群&#xff08;Cluster&#x…...

RNN LSTM Seq2Seq Attention

非端到端&#xff1a; data -》 cleaning -》 feature Engining &#xff08;70%-80%工作 设计特征&#xff09;-》 分类器 -》预测 端到端 End-to-End&#xff1a; data -》 cleaning -》Deep learning&#xff08;表示学习&#xff0c;从数据中学习特征&#xff09; -》…...

硬件设计-ADC和低本底噪声为何至关重要

简介 在工程领域&#xff0c;精度是核心要素。无论是对先进电子设备执行质量和性能检测&#xff0c;还是对复杂系统进行调试&#xff0c;测量精度的高低都直接关系到项目的成功与否。这时&#xff0c;示波器中的垂直精度概念就显得尤为重要&#xff0c;它衡量的是电压与实际被…...

个性化域名配置

1 申请免费SSL证书 访问 https://certbot.eff.org &#xff0c;可申请 通配符证书&#xff0c;每次申请可以使用3个月&#xff0c;到期可以免费续期。 2 配置nginx server index.conf 配置如下&#xff1a; server {listen 80;server_name biwow.com www.biwow.com;return …...

uniapp中打包应用后,组件在微信小程序和其他平台实现不同的样式

今天&#xff0c;我们来介绍一下&#xff0c;uniapp中如何实现打包应用后&#xff0c;组件在微信小程序和其他平台不同的样式&#xff0c;在这里&#xff0c;我们使用背景颜色进行演示&#xff0c;使用 UniApp 提供的 uni.getSystemInfoSync() 方法来获取系统信息&#xff0c;包…...

MRI脑肿瘤检测数据集,使用500张原始图片标注,支持yolo,coco,voc格式

MRI脑肿瘤检测数据集&#xff0c;使用500张原始图片标注&#xff0c;支持yolo&#xff0c;coco&#xff0c;voc格式 数据集下载&#xff1a; https://download.csdn.net/download/pbymw8iwm/90125474 https://download.csdn.net/download/pbymw8iwm/90125473 https://downl…...

JumpServer开源堡垒机搭建及使用

目录 一,产品介绍 二,功能介绍 三,系统架构 3.1 应用架构 3.2 组件说明 3.3 逻辑架构 3.3 逻辑架构 四,linux单机部署及方式选择 4.1 操作系统要求(JumpServer-v3系列版本) 4.1.1 数据库 4.1.3创建数据库参考 4.2 在线安装 4.2.1 环境访问 4.3 基于docker容…...

Java 编程旅程(二)

在前一篇博客中&#xff0c;我们介绍了 Java 编程的基础知识和入门步骤。现在&#xff0c;我们将继续深入探讨 Java 的一些高级特性&#xff0c;以帮助你进一步提升编程技能。通过这篇博客&#xff0c;你将学习到更复杂的概念和技术&#xff0c;比如面向对象编程&#xff08;OO…...

一、springcloud 入门——笔记

1. 学习之前要知道的 springcloud 应用的技术 2. springboot 和 springcloud 的版本选型 官网介绍&#xff1a;https://spring.io/projects/spring-cloud/#overview 生成新的Spring Cloud项目 最简单的入门方法是访问start.spring.io&#xff0c;选择您的Spring Boot版本和要使…...

思考:VSCode 的宏观工作原理 快速入门 VSCodium (****)

23个常用的VSCode快捷键&#xff08;动图演示&#xff09;> https://www.php.cn/faq/441696.html VSCodium AppImage 版 使用记录 https://blog.csdn.net/ken2232/article/details/143591323 **** 初步比较&#xff1a;VSCode > pk < VSCodium << 在下…...

C++ day8——模版

笔记脑图 作业 template <class T> class mylist{ public:// 这是一个链表的节点struct Link{T val;Link* next; } 增 &#xff1a;insert(T val) 在链表中创建新节点&#xff0c;节点上保存的数据为 val删&#xff1a;remove(T val) 移除链表中数据为 val 的节点改…...

【CSS in Depth 2 精译_080】 13.1:CSS 渐变效果(中)——不同色彩空间的颜色插值算法在 CSS 渐变中的应用

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第四部分 视觉增强技术 ✔️【第 13 章 渐变、阴影与混合模式】 ✔️ 13.1 渐变 ✔️ 13.1.1 使用多个颜色节点&#xff08;上&#xff09;13.1.2 颜色插值方法&#xff08;中&#xff09; ✔️13.1…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架&#xff0c;用于…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...