Vercel上的节点JS(Express App) - 开发,运行,部署
#javascript #node #express #vercel

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 startnpm 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 🏓作为响应。

Express JS App deployed on Vercel


我们怎么能忘记打字稿ðä

请继续关注 Deploying Typescript based Express App on Vercel 的新文章。即将推出...

tirth patel,签字! ð«€