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

如何将Express项目部署到Vercel

什么是Vercel?

想必好多前端同学都知道Vercel吧!如果还不了解的同学也没关系,好好看这篇文章,认识认识Vercel,我想对你部署项目有一定帮助。

Vercel 是一个云平台,用于托管和部署静态网站、前端应用程序以及服务器less函数。它提供了一套工具和服务,使开发人员能够轻松地将他们的网站和应用程序部署到全球分布的内容交付网络(CDN)上,以提供快速的加载速度和高可用性。

我们都知道,像React、Vue这种单页面应用,打包之后不用直接打开index.html进行访问。 通过上面的介绍,简单来说 Vercel 自动化部署我们前端项目,而且是免费的,非常方便。

怎么用Vercel

这里主要部署Express项目,同理前端项目也是这样部署的。

1. 创建Vercel账号

进入Vercel官网,点击右上角的Log In,强烈推荐使用Github登录。登录完成之后,以后你部署的项目都可以在上面查看。

2. 创建一个Express应用

新建一个目录:

mkdir test test-express

进入项目目录:

cd test-express

初始化npm:

npm init -y

安装express:

npm i express

然后使用编辑器(如:vscode)打开我们的项目,创建index.js文件来编写我们的代码:

const express = require("express");// 创建Express应用
const app = express();// 定义一下假数据,用于验证接口
const users = [{ id: 1, name: "刘玄德", role: "大哥" },{ id: 2, name: "关云长", role: "二哥" },{ id: 3, name: "张翼德", role: "三弟" }
];// 简单写一个接口
app.get("/", (req, res) => {res.send("这是一个Node express简单服务。");
});// 简写写一个获取用户的接口
app.get("/user", (req, res) => {res.status(200).json({code: 200,msg: "ok",data: users});
});// 运行服务器
app.listen(9000, () => {console.log("Express Server running at http://127.0.0.1:9000");
});/*** 为了让Vercel将Express转变为无服务器功能,* 必须导出Express应用。*/
module.exports = app;odule.exports = app;

当编写好代码之后,我们可以先本地调式我们的代码:在package.json文件中,找到scripts属性,添加"dev": "node index.js"
在这里插入图片描述
然后我们可以npm run dev本地调式,看看有没有问题。如果没有问题,就可以部署到Vercel上了。

3.添加Vercel配置文件

在项目根目录下创建vercel.json文件:

{"version": 2,"builds": [{"src": "index.js","use": "@now/node"}],"routes": [{"src": "/(.*)","dest": "index.js"}]
}

4.部署到Vercel

将项目部署到Vercel,常用的有两种方法:

  • 从Github上导入
  • 使用Vercel CLI

我们这里使用的是Vercel CLI,先全局安装Vercel CLI:

npm i -g vercel

登录Vercel,由于上面已经注册了Vercel账号,这里我们就可以使用命令登录了。假设刚刚你用Github账户注册,就使用Continue with GitHub,按上下键可以切换登录方式。

vercel login

在这里插入图片描述
登录完成之后,就可以部署了,部署成功之后,会默认生成一个地址,点击可以点击Production中的地址进行预览了!

vercel

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

👏👏👏到这里你的项目就部署完毕了!!!

其他

部署完成之后,进入Vercel官网,就会多一个项目。点进去可以看到(如下图)。
点击Logs选项卡,可以查看日志;点击Settings滑到最后,还可以删除你的项目。
Settings选项卡下的Domains中可以配置自定义域名。

在这里插入图片描述

http://www.lryc.cn/news/155962.html

相关文章:

  • Java作业3
  • ARM编程模型-寄存器组
  • C++ string
  • 百亿级访问量,如何做缓存架构设计
  • (数字图像处理MATLAB+Python)第十一章图像描述与分析-第三、四节:几何表述和形状描述
  • 20230901工作心得:IDEA列操作lambda表达式加强版用法
  • macOS Sonoma 14beta 7(23A5337a)更新发布,附黑/白苹果系统镜像
  • QT基础教程之九Qt文件系统
  • OpenCV(十八):图像直方图
  • mac pro 查看隐藏文件夹
  • 软件测试/测试开发丨Selenium 高级定位 Xpath
  • 各类注意力机制Attention——可变形注意力
  • 桥接模式:连接抽象与实现
  • 同步推送?苹果计划本月推出 iOS17和iPadOS17,你的手机支持吗?
  • 方案展示 | RK3588开发板Linux双摄同显方案
  • 数据库-多表设计
  • 一个简单的文件系统(MinixFS)实现解析
  • 地图投影-2亚当斯方形
  • atcoder库中类欧(类欧几里得算法)floor_sum用法
  • 后端面试话术集锦第 十一 篇:mybatis面试话术
  • SpringBoot运维实用篇、打包、运行、高级配置、多环境开发、日志
  • springdoc-openapi-ui 整合 knife,多模块分组,脚手架
  • 04-MySQL02
  • 实现跨境电商测评和采退、LU卡、LU货最安全的系统方案
  • 软件生命周期及流程
  • nginx使用详解
  • YOLOV7 添加 CBAM 注意力机制
  • 【SpringSecurity】七、SpringSecurity集成thymeleaf
  • Go语言中的数组、切片和映射解析
  • MySql学习笔记03——DQL(数据查询)基本命令