nodejsノート2——ルーティングをお願いします.


異なるURL要求に対して、サーバは異なる反応を持つべきである.要求されたURLと他の必要なGETおよびPOSTパラメータをルーティングに提供したいです.その後、ルーティングはこれらのデータに基づいて対応するコードを実行する必要があります.必要なすべてのデータはrequestオブジェクトに含まれ,このオブジェクトはオンレクェスト関数の最初のパラメータ伝達として機能します.これらのデータを解析するためには、urlとquerystringモジュールの別の呼び出しが必要です.
URL:This module has utilities for URL reolution and parsing.Call  require('url') to use it.
Parsed URL object have some or all of the follwing fields、depending on whether or not the y the y the the URL string.Any parts that are not in the URL string will not be in the parsed oject.Examples are show for the URL'http://user:[email protected]:8080/p/a/t/h?query=string#hash'href:The full URL that was originally parsed.Both the protocol and host are lowercased.Example:  'http://user:[email protected]:8080/p/a/t/h?query=string#hash' protocol:The request protocol、lowercased.Example:  'http:' host:The full lowercased host potion of the URL、including port information.Example:  'host.com:8080' auth:The authentication information potion of a URL.Example:  'user:pass' hostname:Just the lowercased hostname potion of the host.Example:  'host.com' port:The port number potion of the host.Example:  '8080' pathname:The path section of the URL、that cores after the host and before the query、including the initial slash present.Example:  '/p/a/t/h' search:The'query string'potion of the URL,including the leading question mark.Example:  '?query=string' path:Concatension of  pathname and  search.Example:  '/p/a/t/h?query=string' query:Either the'params'portion of the query string、or a querystring-parsed oject.Example:  'query=string' or  {'query':'string'} hash:The'fragment'potion of the URL including the pound-sign.Example:  '#hash' 依存注入を用いて,より緩やかにルートモジュールを追加する.ルーティングターゲットの関数を要求処理プログラムと呼び、処理関数の実装を要求するには、request Handlersというモジュールを作成する必要があります.もちろん、他の名前も付けられます.そして、各要求処理プログラムに対して、ビットを占める関数を追加し、その後、これらの関数をモジュールとして導出することで、要求処理プログラムとルーティングモジュールを接続して、ルートを順路に合わせることができる.
特に、一連の要求処理プログラムを一つのオブジェクトを通して伝達し、このオブジェクトをロute()関数に松結合を用いて注入する必要がある.
                                   handle[pathname]();
 var handle = {}  handle["/"] = requestHandlers.start;  handle["/start"] = requestHandlers.start;  handle["/upload"] = requestHandlers.upload;