前回はExpressのインストールと、HelloWorldの出力を行いました。 今回はいよいよExpressでルーティングを行います。

ルーティングの構文

Expressのルーティングの構文はとてもシンプルで、以下のようになります。

app.METHOD(PATH, HANDLER)
  • app: expressのインスタンス
  • METHOD: Httpのメソッド(例: get, post等)
  • PATH: サーバのパス
  • HANDLER: ルートがマッチされた時に実行される関数

サンプル

以下はCRUDAPIのルーティングのサンプルです。

今回のHANDLERではメッセージを返しているだけですが、本来はリソースへ処理を行います。

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => res.send('Hello World!'));
app.post('/', (req, res) => res.send('Got a post requrest.'));
app.put('/user', (req, res) => res.send('Got a put requrest at /user.'));
app.delete('/user', (req, res) => res.send('Got a delete requrest at /user.'));

app.listen(port, () => 
  console.log(`express app started at port ${port}`)
);

静的リソース

Expressで静的リソースを読み込めるようにしたい場合、express.staticを用います。

サンプル

express.staticの引数に、静的リソースのパスを渡します。

app.use(express.static('public'))

これでpublic/ディレクトリ以下のファイルを読み込めるようになります。

複数個の静的リソースを読み込めるようにしたい場合は、以下のようになります

app.use(express.static('public'))
app.use(express.static('files'))

仮装パスにて静的リソースを提供する場合は、以下のようになります。

app.use('/static', express.static('public'))

この場合、ホスト名/staticへアクセスすると、public/以下の静的リソースが利用できます。

まとめ

Expressを使えば、直感的にWebサーバのルーティングを行うことができます。 詳細は公式日本語ドキュメントをご参照ください。

参考文献