Node.jsオープンソースアプリケーションフレームワークHapiJS紹介
HapiJSはNodeに基づいてオープンソースです.jsのアプリケーションフレームワークは、アプリケーションとサービスの構築に適しており、開発者が再利用可能なアプリケーションのビジネスロジックの開発に集中し、開発者にアプリケーションのビジネスロジックを構築するために必要なインフラストラクチャを提供することを目標としています.HapiJSの現在の最新バージョンは7.2.0版です.
二、HapiJSのインストールとプロジェクトの配置
1、HapiライブラリHapiJSのインストールは簡単で、以下のコマンドを実行する.
$ sudo npm install hapi -g
[email protected] /usr/local/lib/node_modules/hapi
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected])
└── [email protected] ([email protected], [email protected])
2、構成項目
1)myprojectという新しいディレクトリを作成する
$ mkdir myproject
$ cd myproject
2)ディレクトリの下で初期化コマンドを実行する
$ npm init
このコマンドはpackageを生成します.jsonファイル、プロジェクトのメタデータです.
次にコマンドを実行します.
$ npm install --save hapi
hapiライブラリをプロジェクトの下にインストールし、hapiの依存関係をpackageに書き込む.json.
この時点で、プロジェクト開発に必要なすべての準備が完了しました.
三、開発例
1、サーバーの作成
// server.js
var Hapi = require('hapi');
var server = new Hapi.Server(3000);
server.start(function(){
console.log('Server running at: ', server.info.uri);
});
まず、Hapiライブラリが必要です.
次に、新しいhapiサーバオブジェクトを作成し、監視するポート番号をサーバオブジェクトに渡します.
最後に、サーバオブジェクトが起動し、ログ情報が出力されます.
説明するには、サーバオブジェクトを作成するときに、ホスト名、IPアドレス、さらにはUnixのsocketファイル、またはWindowsシステムがサーバ名にバインドされたパイプを提供します.
2、サーバー実行コマンドを起動する:
$ node server.js
アクセスhttp://127.0.0.1:3000/を選択します.
{"statusCode":404,"error":"Not Found"}
サーバ自体に何もないので、ルーティングロジックを追加します.
3、ルーティングロジック
// server.js
var Hapi = require('hapi');
var server = new Hapi.Server(3000);
server.route({
method: 'GET',
path: '/',
handler: function(request, reply){
reply('Hello, world!');
}
});
server.route({
method: 'GET',
path: '/{name}',
handler: function(request, reply){
reply('Hello, ' + encodeURIComponent(request.params.name) + "!");
}
});
server.start(function(){
console.log('Server running at: ', server.info.uri);
});
サーバの再起動:
$ node server.js
およびアクセスhttp://127.0.0.1:3000/を選択します.
Hello, world!
アクセスhttp://127.0.0.1:3000/張三、ブラウザは以下の内容を表示します.
Hello, %E5%BC%A0%E4%B8%89!
ルーティングロジックが正常に動作していることがわかります.
注意:methodのパラメータは、任意の有効なHTTPメソッドであってもよいし、アスタリスク*(任意のHTTPメソッドを表す)であってもよい.pathのパラメータは、パラメータ、オプションパラメータ、さらにはワイルドカードを含むアクセスパスを定義します.
四、プラグインの使用
Webアプリケーションを作成するときは、通常、ログにアクセスする必要があります.アプリケーションに基本的なログ出力を追加するには、goodプラグインをサーバにロードします.
1、goodプラグインのインストール
$ sudo npm install --save good
[email protected] node_modules/good
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
└── [email protected] ([email protected], [email protected])
2、serverを更新する.jsのコード
// server.js
var Hapi = require('hapi');
var Good = require('good');
var server = new Hapi.Server(3000);
server.route({
method: 'GET',
path: '/',
handler: function(request, reply){
reply('Hello, world!');
}
});
server.route({
method: 'GET',
path: '/{name}',
handler: function(request, reply){
reply('Hello, ' + encodeURIComponent(request.params.name) + "!");
}
});
server.pack.register(Good, function(err){
if(err){
// something bad happened loading the plugin
throw err;
}
server.start(function(){
server.log('info', 'Server running at: ' + server.info.uri);
});
});
serverを実行します.js、コンソール出力:
141102/161007.644, info, Server running at: http://localhost:3000
次にアクセスすると、http://127.0.0.1:3000/liqiang
およびhttp://127.0.0.1:3000/
コンソールは出力を続行します.
141102/161150.689, request, http://Thinker-LQ:3000: get /liqiang {} 200 (37ms)
141102/161155.812, request, http://Thinker-LQ:3000: get / {} 200 (4ms)