将Serverless Express应用部署到Vercel
Vercel 是一个无服务器的基于云的托管解决方案,用于托管前端和无服务器应用程序。Express是一个Node.JS框架,部署无服务器Express应用程序可以将成本降低到几乎为零。虽然传统的服务器部署方式费用高昂,对API调用有限制,并且在产品扩展到更高级别时可能需要后端开发人员的参与。因此,我们必须学习如何将无服务器Express应用程序部署到Vercel。
Vercel的特点:
- 对于开发人员来说,在Vercel上部署非常容易。
- 代码与GitHub的主分支合并后,自动发布到生产环境。
- 您可以通过直观的方式监控您的网站的分析数据。
- 您可以在购买Vercel上的域名或配置DNS记录之后将自定义域名添加到网站。
- 开发人员可以查看构建日志以跟踪他们在生产环境中的源代码。
- 提供无服务器函数功能,当网站流量增加时,可以自动扩展。
先决条件: 必须安装 Node.js 。如果您尚未安装,请参考此文章。
设置Vercel账户的步骤:
访问Vercel网站,并使用您的电子邮件或GitHub账户进行注册。
构建简单的Node.js Express应用程序的步骤:
- 在桌面上创建一个文件夹,并打开它。通过以下命令初始化构建 package.json 文件。
npm init -y
- 安装 express.js
npm install express
- 创建一个名为api的文件夹,并在该文件夹内创建一个index.js文件。api文件夹将包含您的服务器端代码。让我们创建一个简单的Nodejs-express Web API。(复制并粘贴下面的简单express.js代码片段)。
// index.js
const express = require('express')
const app = express()
app.get('/api',(req,res)=>{
res.send(`<h5 style="color:green">
Hey Geek! you just deployed serverless express api</h5>`)
})
app.listen(8080,()=>{
console.log('Server started at http://localhost:8080')
})
module.exports=app
- 现在将以下脚本粘贴到 vercel.json 文件中。
{
"rewrites": [{
"source": "/api/(.*)",
"destination": "/api"
}]
}
- 在本地运行API,地址为localhost:8080/api
node api/index
- 在您的设备上全局安装 Vercel CLI,使用以下命令:
npm i -g vercel
- 通过以下命令检查您的系统是否已安装Vercel。
vercel --version
- 然后通过Vercel CLI命令登录您的Vercel账户。
vercel login ****
- 现在将Serverless Express应用程序部署到Vercel,并在终端中键入以下命令。
**** vercel
该命令将显示最新的Vercel版本并询问以下问题:
- 设置并部署“~/projectname”?[Y/n]:
- 您想要部署到哪个作用域?
- 链接到现有项目?[y/n]
- 您的项目名称是什么?
- 您的代码存放在哪个目录中?
- 是否要覆盖设置?[y/n]
此外,如果您想将其部署到生产环境,请运行以下命令:
**vercel --prod**
完成上述部署过程后,访问Vercel网站,您的项目将在那里部署。
example: https://geeksapi-panwarayush.vercel.app/api