VercelとExpressで簡単サーバーレスAPI!初心者向け構築ガイド
1. はじめに:VercelとExpressとは?
1.1 Vercelとは?
Vercel(バーセル)は、フロントエンド開発に特化したクラウドプラットフォームです。特に、Next.jsやReactなどのJavaScriptフレームワークとの相性が良く、高速なデプロイとパフォーマンスを提供します。サーバーレス関数(Serverless Functions)の実行環境も提供しており、APIエンドポイントを簡単に構築できます。
1.2 Expressとは?
Express(エクスプレス)は、Node.jsのための軽量なWebアプリケーションフレームワークです。ルーティング、ミドルウェア、テンプレートエンジンなど、Webアプリケーション開発に必要な機能を提供します。シンプルで柔軟なAPI設計が特徴で、多くの開発者に利用されています。
1.3 なぜVercelとExpressを組み合わせるのか?
VercelとExpressを組み合わせることで、サーバーレス環境でExpressの柔軟性を活かしたAPIを構築できます。Vercelはインフラの管理を自動化し、ExpressはAPIのロジックを記述するための強力なツールを提供します。これにより、開発者はインフラの心配をせずに、アプリケーションのロジックに集中できます。
2. 開発環境の準備
2.1 Node.jsとnpmのインストール
まず、Node.jsとnpm(Node Package Manager)がインストールされていることを確認してください。インストールされていない場合は、Node.jsの公式サイトからダウンロードしてインストールしてください。
# Node.jsのバージョンを確認
node -v
# npmのバージョンを確認
npm -v
2.2 Vercel CLIのインストール
Vercel CLI(コマンドラインインターフェース)をインストールします。Vercel CLIを使うことで、ローカル環境からVercelにアプリケーションをデプロイできます。
npm install -g vercel
2.3 Vercelアカウントの作成とログイン
Vercelの公式サイトでアカウントを作成し、Vercel CLIでログインします。
vercel login
3. Expressアプリケーションの作成
3.1 プロジェクトディレクトリの作成
新しいプロジェクトディレクトリを作成し、そのディレクトリに移動します。
mkdir vercel-express-api
cd vercel-express-api
3.2 npmプロジェクトの初期化
npmプロジェクトを初期化します。
npm init -y
3.3 Expressのインストール
Expressをインストールします。
npm install express
3.4 サーバーレス関数用のファイル作成
`api`ディレクトリを作成し、その中に`index.js`ファイルを作成します。このファイルがサーバーレス関数のエントリーポイントになります。
mkdir api
touch api/index.js
3.5 `api/index.js`にコードを記述
`api/index.js`に以下のコードを記述します。
// api/index.js
const express = require('express');
const app = express();
// CORS(Cross-Origin Resource Sharing)を許可するためのミドルウェア
// 異なるオリジンからのリクエストを許可します
app.use((req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
next();
});
// GETリクエストに対するルート
app.get('/api', (req, res) => {
res.status(200).send({ message: 'Hello from Vercel and Express!' });
});
// POSTリクエストに対するルート
app.post('/api', (req, res) => {
res.status(200).send({ message: 'POST request received!' });
});
// Vercelにデプロイするために、Expressアプリをエクスポート
module.exports = app;
4. Vercelへのデプロイ
4.1 `vercel.json`ファイルの作成
プロジェクトのルートディレクトリに`vercel.json`ファイルを作成します。このファイルは、Vercelの設定を記述するためのものです。
{
"version": 2,
"builds": [
{
"src": "api/index.js",
"use": "@vercel/node"
}
],
"routes": [
{
"src": "/api",
"dest": "/api/index.js"
}
]
}
4.2 Vercelへのデプロイ
Vercel CLIを使って、アプリケーションをデプロイします。
vercel
5. APIのテスト
デプロイされたAPIをテストします。ブラウザでURLにアクセスするか、`curl`コマンドなどを使ってリクエストを送信します。
curl <Vercelから提供されたURL>/api
レスポンスとして`{“message”: “Hello from Vercel and Express!”}`が表示されれば、APIは正常に動作しています。
6. まとめ
この記事では、VercelとExpressを使ってサーバーレスAPIを構築する方法を解説しました。
- Vercelはサーバーレス関数の実行環境を提供し、インフラの管理を自動化します。
- ExpressはAPIのロジックを記述するための強力なフレームワークです。
- Vercel CLIを使うことで、ローカル環境からVercelにアプリケーションを簡単にデプロイできます。
次のステップとして、以下のことを試してみてください。
- データベースとの連携
- 認証機能の追加
- より複雑なAPIの構築
VercelとExpressを組み合わせることで、スケーラブルで高性能なAPIを簡単に構築できます。ぜひ、色々なAPIを開発してみてください。