Heroku宣布终止免费计划ð之后,开发人员需要找到Heroku的免费替代方案来部署应用程序。
在研究此过程时,我发现许多可以满足我们需求的选择,即。数字海洋,AWS,GCP等。但是这些云提供商需要密集的设置,价格太高了。
,但我有你的ð
您可以免费在Vercel上部署Express App。ð
我会告诉您步骤,您可以轻松地将Express App在Vercel上部署。 (如果您拥有现有Express JS应用程序,则可以从步骤2/3开始)
ps:在此博客中,尤其是我专注于 node(express)app 。对于Python或其他技术堆栈,我们可以在另一个博客中进行讨论。
1)基本Express应用程序ð
(如果您已经有一个,可以跳过此步骤。)
-
init节点JS应用:转到要创建应用程序并运行以下命令
的文件夹
npm init -y
-
安装软件包:启动应用程序后,使用YARN/NPM
安装express
软件包
yarn add express / npm install express
-
express的样板:在文件夹的根中创建
index.js
文件。并复制以下代码段
const express = require('express') const app = express() app.get('/', (req, res) => { res.send('Express JS on Vercel') }) app.get('/ping', (req, res) => { res.send('pong 🏓') }) const port = process.env.PORT || 8080 app.listen(port, (err, res) => { if (err) { console.log(err) return res.status(500).send(err.message) } else { console.log('[INFO] Server Running on port:', port) } })
-
更新npm脚本:添加
start
脚本在scripts
对象中
"scripts": { "start": "node index.js" }
- 旋转应用程序:通过运行
yarn start
或npm run start
启动应用程序。启动服务器后,打开浏览器并导航到localhost:8080
。您将获得Express JS on Vercel
作为我们Express App的响应。
2)在我们的项目中初始化git。 ð»
- 做一个
.gitignore
文件夹的根。并添加node_modules
对此。如果存在.gitignore文件检查node_modules
被添加到其中。
-
在终端中执行
git init
(来自项目的根),或者您可以使用VS代码的源控制选项卡来初始化git存储库。 -
将本地存储库连接到遥控器(github/bitbucket)。您可以使用任何版本控制系统发布您的存储库。
3)创建Vercel项目ð¾
- 转到vercel.com->登录
- 使用保留存储库的版本控制平台登录。
- 从仪表板 - >添加新项目 - >选择您的存储库 - >部署
4)在应用程序中添加vercel配置
- 在上述步骤中,在您的拳头部署完成后,您可以看到我们不会从API中获得
Express JS on Vercel
响应。 - 要按预期进行此操作,我们需要告诉Vercel这是一个API,您需要将其作为无服务器功能。
-
为此,我们需要将
vercel.json
文件添加到我们项目的根源中。在文件中粘贴以下代码
{ "version": 2, "builds": [ { "src": "index.js", "use": "@now/node" } ], "routes": [ { "src": "/(.*)", "dest": "index.js" } ] }
- 注意:在
dest
字段中,请将文件名放置为项目的基本输入文件。假设您将app.js
作为基本文件,需要相应地修改此配置。然后,只有Vercel才会知道哪个文件用作API执行的基本文件。
5)重新部署并重新检查APIð
- 之后
vercel.json
添加了文件,将这些更改推到Git存储库中。
-
当您推入分支时,Vercel将自动触发部署。如果它没有触发自动部署,则可以启动手动部署。
-
一旦新部署进行实时,您现在可以通过刷新Vercel部署URL来查看,并检查我们现在正在获得
Express JS on Vercel
作为API响应。 -
要确保API正常工作,您也可以点击
/ping
路线,该路由将返回pong 🏓
作为响应。
我们怎么能忘记打字稿ðä
请继续关注 Deploying Typescript based Express App on Vercel
的新文章。即将推出...
tirth patel,签字! ð«€