# Serverless API mit Vercel

In diesem Artikel erstelle ich mit Dir eine Serverless API mit Node.js, Express und Vercel.

Vercel ist eine cloud Plattform für statische Webseiten und serverless-functions. Dabei ist das deployment sehr einfach und die Plattform skaliert eigenständig.

Und das alles kostenlos (für Solopreneure).

Voraussetzung für unser Vorhaben ist ein installiertes Node.js (https://nodejs.org (opens new window)) und GitHub Account (https://github.com (opens new window)) für die kostenlose Anmeldung bei Vercel.

Danach erstellst du ein Verzeichnis für deine API und öffnest dieses mit der Konsole. Mit folgenden Befehlen legst du ein Node.js Projekt an und installierst die nötigen Module für unsere API:

npm i -g vercel
npm init -y
npm i express cors body-parser

Danach erstellst du eine Datei namens index.js und füllst diese mit folgendem Code:

//index.js
const express = require('express');
const cors = require("cors");
const bodyParser = require('body-parser');

let server = express();
server.use(bodyParser.json());
server.use(cors());

server.get('/', function(req, res) {
    res.send("Hello World");
});

module.exports = server;

Damit Vercel unsere API von einer statitischen Webseite unterscheidet benötigst du noch eine vercel.json mit folgendem Inhalt:

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

Um zu testen ob deine API funktioniert, musst du dich über "vercel login" mit deiner E-Mail Adresse anmelden. Man erhält dann eine Verifikationsmail von Vercel in der du einfach auf den Button VERIFY klicken musst. Danach kannst du über "vercel dev" deine API lokal testen. Auf der Konsole wird dir die URL angezeigt (meistens http://localhost:3000 (opens new window))

Wenn alles funktioniert, kannst du mit "vercel --prod" deine neue API produktiv nehmen. Auch hier bekommst du in der Konsole deine URL mitgeteilt.

Hier noch das Beispielprojekt im GitLab https://gitlab.com/bjoernrenzel/vercel-hello-api

Last Updated: 9/6/2021, 9:06:41 PM