今週のプロジェクト作業は比較的分散しているので(これまでずっとそうだったと言うべきです)、その概要はさまざまな状況に応じて2つの部分に分けられます〜この記事は、ノードに関する学習の概要を記録します。次の記事は、プロジェクト中に学んだ Web のフロントエンドの知識についてです。
1.HTTP
ノードの HTTP モジュールは最初の記事で公開しました。ここでは、いくつかのルーチンに登場する API について学びます。
require('http').createServer(function(req, res){
If('/' == req.url){
res.writeHead(200, {'Content-Type': 'text/html'});
res.end([
'
creatServer([requestListener]) 関数のパラメーターはコールバック関数 function(req, res) です。ここで、req (request) は http.IncomingMessage のインスタンス、res (response) は http.ServerRrsponse のインスタンスです。 。
リソース URL、メソッド string、および 2 つのメソッド writeHead と end を使用しました。名前が示すように、url は HTTP を記録する URL (ホスト名以降のすべて)、method は HTTP 応答を記録するメソッドです。
writeHead(statusCode, [reasonPhrase], [headers]) は、http 応答ヘッダー情報を送信するために使用されます。このメソッドは、メッセージの到着時に 1 回だけ呼び出され、end メソッドの前に呼び出される必要があります。代わりにこれを実行し、最初に write(chunk, [encoding]) または end([data], [encoding]) メソッドを呼び出すと、システムは目に見えない揮発性の (つまり、不正な) 応答ヘッダーの内容を自動的に記録します。 writeHead メソッドを呼び出します。
end メソッドは、応答情報が送信されたことを示すメッセージをサーバーに送信するため、応答が送信されるたびにこのメソッドを呼び出す必要があります。パラメータにコンテンツ (ルーチンなど) がある場合、このメソッドは write('content', [encoding]) メソッドと end メソッドを同時に呼び出すことと同等です。これは非常に便利です。
次に、ルーチンは req.on を使用してイベントをリッスンし、それを req(message) にバインドします。そのプロトタイプは Emitter.on(event,listener) で、req はイベントを生成するオブジェクトです。リスニング関数では、これは現在のリスニング関数に関連付けられた EventEmitter オブジェクトを指します。