5

私はノードを学ぶことに決めたので、まず、The Node Beginner Bookに従っています。他の多くのリソースと同様に、最初のステップとして、次のような「単純な HTTP サーバー」があります。

var http = require("http");

http.createServer(function(request, response) {
    response.writeHead(200, {"Content-Type": "text/plain"});
    response.write("Hello World");
    response.end();
}).listen(8888);

私が理解しているように、誰か (この場合は私ですがlocalhost:8888) がリクエストを行うと、イベントがトリガーされ、渡された匿名関数http.createServerが起動されます。私はここに、http.createserver役に立つと思った人のために見つけたドキュメントを置きます:

http.createServer([requestListener])

新しい Web サーバー オブジェクトを返します。

requestListener は、「request」イベントに自動的に追加される関数です。

( node.jsサイトより)

このトリガーされた関数に渡されたパラメーターをどのように取得するのか、またそれをどのように確認するのかを見つけることも、理解することもできませんでした。では、これらのパラメーターがどこから来たのか、どのようなメソッドが提供されているのかなどを知るにはどうすればよいでしょうか?

前もって感謝します!

4

3 に答える 3

2

JavaScript では、関数をパラメーターとしてメソッドに渡すことができます。例:

function funcA(data) {
    console.log(data);
}
function funcB(foo) {
    foo('I'm function B');    // Call 'foo' and pass a parameter into that function
}
funcB(funcA); // Pass funcA as a parameter into funcB

あなたがやっているhttp.createServerことは、パラメータを受け入れることができる関数を渡す上記です。新しいサーバーは、呼び出すことができる関数を渡すことを期待しています。サーバーは、リクエストとレスポンス オブジェクトを作成する内部アクションを実行し、それらの変数で渡された関数を呼び出します。

これらのパラメータの詳細については、Http イベント: リクエストを参照してください。

于 2013-12-05T20:55:47.077 に答える
0

node.jsのドキュメント では、メソッドやイベントなど、 http.ClientRequesthttp.ServerResponseについて知っておく必要があるほとんどすべてのことを説明しています。

HTTP プロトコル全般に関する情報が必要な場合は、 HTTP ウィキペディア ページなど、グーグルで検索すると多くのリソースを見つけることができます。

ノードで HTTP がどのように実装されているかを詳しく知りたい場合は、node.js ソース コードにジャンプする必要があります。

また、最もよく使用されている node の Web フレームワークであるexpress.jsに興味があるかもしれません。そのため、それに関する多くのリソースがオンラインで入手できます。

于 2013-12-05T20:50:56.803 に答える