expressjsでリクエストオブジェクトのプロトタイプを拡張したいが、この要求がどこに定義されているかは不明です。私はそれがhttp.ServerRequestだと思うが、私はその定義を見つけることができません。エクスプレス/ノード構成のServerRequestのプロトタイプを更新する
Connect frameworkと彼のmiddleware libsで次の...
http.ServerRequest.prototype.redirect = function(path) { }
expressjsでリクエストオブジェクトのプロトタイプを拡張したいが、この要求がどこに定義されているかは不明です。私はそれがhttp.ServerRequestだと思うが、私はその定義を見つけることができません。エクスプレス/ノード構成のServerRequestのプロトタイプを更新する
Connect frameworkと彼のmiddleware libsで次の...
http.ServerRequest.prototype.redirect = function(path) { }
エクスプレス自体は、このパターンin 2.*を使用して、http.IncomingMessage.prototype
には、ユーティリティメソッドです追加
var http = require('http');
var req = exports = module.exports = {
__proto__: http.IncomingMessage.prototype
};
それはヴァディムBaryshevとして、しかし猿のパッチと注意するのが賢明です彼の答えで警告する。
ルックを行うには正しい方法は何ですか。すべてのミドルウェアは、作成後に要求および応答オブジェクトを拡張します。コアオブジェクトのプロトタイプを変更するのは、他のモジュールで予期せぬ動作につながる可能性があるためです。
var http = require('http'),
req = http.IncomingMessage.prototype;
req.foo = function(bar) {
// Do cool stuff
};
このパターンin 3.*:
httpはnode.jsのコアライブラリです。後のことを達成するための最善の希望は、私が恐れていた相続物 – ControlAltDel
ではなくファサードを使用することかもしれません。私はそれを避けようとしていました。なぜなら、すべての開発者が新しい関数の名前を知る必要があるからです。 – Greg