nodeのWebサーバフレームワークというとExpressが最も有名かも知れませんが、ちょっと汎用的すぎると感じている人もいるかも知れません。もっとWeb APIに特化したサーバフレームワークのが目的に合っていると感じる人もいるでしょう。 そんな方に使ってみて欲しいのがhapi.jsです。シンプルで使いやすいサーバフレームワークです。

hapi.jsの使い方

最も簡単なスクリプト例です。

'use strict';

const Hapi = require('hapi');

// Create a server with a host and port
const server = new Hapi.Server();
server.connection({ 
    host: 'localhost', 
    port: 8000 
});

// Add the route
server.route({
    method: 'GET',
    path:'/hello', 
    handler: function (request, reply) {

        return reply('hello world');
    }
});

// Start the server
server.start((err) => {
    if (err) {
        throw err;
    }
    console.log('Server running at:', server.info.uri);
});

サーバを作って、ルートを追加して、サーバを開始すると言う流れになります。Webブラウザでアクセスすれば、当然次のように表示されます。

hapi.js本体はごく小さく、プラグインで拡張していくのが基本となっています。認証、Swagger、多言語対応、ログイング、WebSocket、セッション管理などもプラグインとして個別に分かれています。Reactにももちろん対応しています。

hapi.jsはnode/JavaScript製、BSD Licenseのオープンソース・ソフトウェアです。

hapi.js hapijs/hapi: Server Framework for Node.js