Node.jsでdirect
、基本的にリクエストルーターという名前の1つの関数のみを公開するモジュールを作成しています(はい、学習するために独自に作成しています)。ただし、APIを単純化して1つの関数だけを使用したいと思います。何が行われたかに応じて、他のすべては後に連鎖しdirect
ます。
今のところ、次の3種類の入力を受け入れます。文字列(ルート)または関数(コールバック)または2つのオブジェクト-からの要求オブジェクトと応答オブジェクトhttp.createServer
:
direct('/'); //pass a route string
direct(function(){}); //pass callback
direct(req,res); //pass the request and response
これらの内部は私の心配です。現在私がしていること:
//if only one,
if(arguments.length === 1) {
if( typeof arguments[0] === 'string') {
//add to routes
} else if( typeof arguments[0] === 'function') {
//add to callbacks
} else {
//return an error
}
} else if(arguments.length === 2 && ...check if both are typeof object, not null, not instance of array...) {
//extremely long check if both are objects
//planning to extract the check as a function
} else {
//return an error object
}
ご覧のとおり、私は多くのものをハードコーディングしているようです。また、チェックは非効率的で少し長いです。
- 与えられた基準に従って引数をフィルタリングする効率的な方法は何ですか?
- 送信されたオブジェクトが
request
とresponse
のオブジェクトであったかどうかを確認する方法はありhttp.createServer
ますか?