在 Vercel 中免费部署您的 Express 后端🚀⚡
介绍
你是否曾经在部署后端应用程序时遇到过困难?
别再担心了!您只需进行极少的配置,即可在 Vercel 上免费部署您的 Express 应用。🎉
没错,你没看错!它是免费的!!!
在本文中,我将向您展示如何使用vercel.json配置文件在 Vercel 上部署 Node + Express 应用程序,以及在执行此操作时需要注意的事项。
那么,事不宜迟,
开始吧!
Vercel是什么?
Vercel是一个前端云平台,它与Next.js、Nuxt和SvelteKit等流行的前端框架集成。此外,它也支持运行后端代码。
有些前端框架可以同时在客户端和服务器端运行,允许你使用 API 路由或服务器端渲染页面。
当我们谈到传统后端时,通常会想到API或者与数据库交互的东西。我们也可以在Vercel上运行这些工作负载。
先决条件
开始之前,请确保您已准备好以下物品:
项目基本设置
我们先来创建一个简单的Node.js Express应用程序。运行以下命令:
npm init -y
接下来,我们将在应用程序中安装 Express。为此,请运行以下命令:
npm install express
现在,我们将创建一个 API 目录,并在该目录下/api创建一个名为 `.api.py` 的文件,index.js内容如下:
const express = require("express");
const app = express();
app.get("/", (req, res) => res.send("Congratulation 🎉🎉! Our Express server is Running on Vercel"));
app.listen(3000, () => console.log("Server ready on port 3000."));
module.exports = app;
这将是我们的主服务器文件。
接下来,我们将为 Vercel 配置项目。为此,我们将vercel.json在项目根目录下创建一个文件。
{
"version": 2,
"rewrites": [{ "source": "/(.*)", "destination": "/api" }]
}
配置vercel.json文件允许我们从项目内部配置和覆盖 Vercel 的默认行为。
对于此应用程序,我们已将 Vercel 配置为将所有传入请求路由到我们的 API 文件夹。
在 Vercel 上部署项目
在本节中,我们将把项目部署到 Vercel。为此,我们将使用 Vercel CLI。
使用以下命令安装:
npm i -g vercel
接下来,我们将登录 Vercel,授权 Vercel CLI 在我们的 Vercel 帐户上运行命令:
vercel login
在这个例子中,我们将继续使用 GitHub。登录后,我们将看到以下成功消息:
现在我们将使用本地开发命令启动项目,该命令还会执行vercel.json您上面创建的配置:
vercel dev
此过程还会创建一个新的 Vercel 项目,但不用担心,这不会让你的 Express.js 应用公开访问。
让我们访问http://localhost:3000/并添加查询参数name=Arindam(http://localhost:3000/?name=Arindam),我们将得到以下结果:
现在我们准备将项目上线。让我们运行以下命令:
vercel
现在,让我们访问https://arindam-express-vercel.vercel.app/查看结果:
一切正常!
至此,我们已经创建并部署了基于 Node-Express 的应用程序到 Vercel。现在,您可以利用它构建更复杂的应用程序了。
与Vercel合作时需要注意的事项
准备迁移到 Vercel 的无服务器架构?以下是您需要了解的一些事项:
-
没有始终在线的服务器:与传统服务器不同,Vercel 不会 24/7 全天候运行服务器。这意味着您需要重新思考您的应用程序的运行方式。
-
WebSocket:无服务器函数应该快速响应,不应持续订阅数据事件。应使用客户端处理数据事件,并使用对无服务器友好的实时数据提供程序。
-
数据库连接:无服务器函数在高流量情况下可能会打开大量数据库连接。使用对无服务器友好的数据库或连接池可以确保流畅运行。
-
模板引擎和视图引擎:使用 React、Pug 或 EJS 等高效的视图引擎来优化响应时间。设置正确的缓存头,避免每次请求都重新计算响应。
-
错误处理:Express.js 可能会吞噬错误,导致函数处于异常状态。因此,需要实现强大的错误处理机制,以确保 Vercel 能够正确地丢弃并重置出错的函数。
希望这些技巧能帮助你充分利用 Vercel!
结论
如果您觉得这篇文章对您有所帮助,请考虑分享给其他可能受益的人。您也可以关注我,获取更多关于 JavaScript、React 和其他 Web 开发主题的内容。
付费合作请联系:arindammajumder2020@gmail.com
请在Twitter、LinkedIn、Youtube和GitHub上关注我。
感谢阅读 :)
文章来源:https://dev.to/arindam_1729/deploy-your-express-backend-in-vercel-for-free-1321








