node_express

https://www.cnblogs.com/zapple/p/5683016.html

いくつかのポイントを強調する:

Expressアプリケーションは、本質的に直列に実行されるミドルウェアのスタックである。(应用其实就是由一系列顺序执行的ミドルウェア组成を表す。)
ミドルウェアは、要求オブジェクト(REQ)へのアクセス権を持つ関数である、応答オブジェクト(RES) Expressアプリケーションの要求応答サイクルに一列に、次のミドルウェア。これは、一般的に次の名前の変数で表されます。各ミドルウェアは、要求-応答サイクルを終了し、要求及びREPONSEオブジェクトを変更し、任意のコードを実行し、スタック内の次のミドルウェアを呼び出す能力を有しています。ミドルウェアはシリアルに実行されているので、インクルージョンの彼らの順序が重要です。
現在のミドルウェアは要求-応答サイクルを終了されていない場合は、次のミドルウェアに制御を渡すために)(次を呼び出すことが重要であり、それ以外の要求はハングを残しされます。
オプションのマウントパスと、ミドルウェアは、アプリケーションレベルまたはルータレベルでロードすることができます。また、ミドルウェア機能一連のマウントポイントでミドルウェア・システムのサブスタックを作成し、一緒にロードすることができます。

図1に示すように、中間経路および性質エクスプレスREQとRESは処理され、次のようにURLパス関数のプロトタイプは次のとおり
機能(REQ、RES、次へ)
の両方であっても混合しても、例えば4.xの足場ツール生成されたコード、オブジェクトとして使用される中間ルータは、サブ経路の中間ルータでのみマッチング結合経路(及び方法一貫した方法で対応するHTTP要求)を処理します。
違いは、一般的になど、ポスト、取得などの一般的なルーティングHTTPメソッド、ため、ミドルウェアの方法は、治療のためのURL、それがデフォルトのパスのルートだけではない区別、ということです。次に、ルーティング処理は、正確なURL、URLやミドルウェア処理サブパスが一致する一致します。
どちらのコールバック応答を返すが決定していない(などreq.end req.sendのAPI)、または次にコールバックコールを指定し、どちらも返すことができない、また次の(一時停止要求は、先端ページの表示が発生しますすることができます応答がありません)。
両方の実行順序が書かれた順序です。

オブジェクトを表すURLパスが正規表現であってもよいし、HTTPをルーティングするための一般的な方法に指定することができる。
app.METHOD(パス、コールバック【、コールバック...])
app.get(「/例/ C」[CB0、のCB1、 CB2]);
app.get(「/例/ C」、関数()、関数());
コールバックを複数指定した場合、ルーティング設定ハンドルは、次の残りのハンドルをスキップコールバックを呼び出すことができます。

2、静的サーバ
app.use(express.static(path.join(__ DIRNAME 、「パブリック」)));
対応するHTTP URIを処理する静的HelloExpress静的ミドルウェアとしてファイルディレクトリの下に公開ディレクトリ内のコードのこの行"/。"へ 静的メソッドは、キャッシュの時間を指定されたオプションを提供することができます。
app.use(「/静的」、express.static (path.join(__ DIRNAME、「パブリック」)));
上記のコードが静的プロセスミドルウェア/静的パスの公開ディレクトリを使用。

図3は、ルータ対象
Expressはまた、ミドルウェアのような振る舞いをルーターと呼ばれるオブジェクトを提供し、あなたは、ルータを使用するミドルウェアを使用するように、ルータapp.useに直接渡すことができます。また、あなたはまた、などGET、POST、のルーティングを処理するためにルータを使用することができ、また、あなたはアプリのミニチュア版としてルータができ、簡単に言えば、ミドルウェアを追加するためにそれを使用することができます。
ルータのインスタンスを作成し、アプリを使用して同じルータを使用することができ、足場によって生成されたコードを4.xの、ルータが中間オブジェクトとして使用されている:
varが=(「エクスプレス」)が必要ですエクスプレス;
VAR = express.Routerルータ([オプション]);
router.get( '/イベント'、関数(REQ、RES、次へ){
// ...
});
//呼び出され、このルータに渡されるリクエストの
router.use(関数(REQ、RES 、NEXT){
ここで任意のロジック壁紙他のミドルウェア等// ..一部
次に();
});
module.exportsは=ルータ、
以下がapp.js index.jsコードを参照している:
VAR =ルートが必要( ' ./routes/index ');
...
app.use(' /」、ルート)。
ここでルートがルートパスにマウントされ、第一上のミドルウェアをマッチングに注意を払う必要がありますパスは、基本的なルーティングパスに一致する機会を持っています。

 

おすすめ

転載: www.cnblogs.com/ccdat/p/11694726.html
おすすめ