Express と Nodejs の内部構造をもっと理解しようとしています。express のファイルを見ると、プロトタイプのように見える にresponse.jsいくつかのメソッドを頻繁に割り当てています。res
具体的にresは、 として宣言されていres = http.ServerResponse.prototypeます。
わかりました、それで何httpですか?httpとして宣言されていhttp = require('http')ます。
Express'http.jsファイルを見ると、exports = module.exports = HTTPServer;
そして、HTTPServerこの方法のようです:
function HTTPServer(middleware){
connect.HTTPServer.call(this, []);
this.init(middleware);
};
そして、これは私が立ち往生するところです。私の論理によればServerResponse、メソッドで呼び出されているように見えHTTPServerますが、もちろん意味がありません。したがって、私は何かが欠けているに違いありません。
アップデート:
Express が HTTPServer のインスタンスを作成することに気付きました。
exports.createServer = function(options){
if ('object' == typeof options) {
return new HTTPSServer(options, Array.prototype.slice.call(arguments, 1));
} else {
return new HTTPServer(Array.prototype.slice.call(arguments));
}
};
それで、ServerResponse実際にそのインスタンスで呼び出されているのは事実だと思いますか? しかし、私はまだ見つけることができませんServerResponse...