Expressjs-routing

提供:Dev Guides
移動先:案内検索

ExpressJS-ルーティング

Webフレームワークは、HTMLページ、スクリプト、画像などのリソースを提供します。 異なるルートで。

次の関数は、Expressアプリケーションでルートを定義するために使用されます-

app.method(path、handler)

このMETHODは、HTTP動詞のいずれか(get、set、put、delete)に適用できます。 リクエストタイプに関係なく実行される代替メソッドもあります。

パスは、リクエストが実行されるルートです。

ハンドラーは、関連するルートで一致する要求タイプが見つかったときに実行されるコールバック関数です。 例えば、

var express = require('express');
var app = express();

app.get('/hello', function(req, res){
   res.send("Hello World!");
});

app.listen(3000);

アプリケーションを実行して localhost:3000/hello に移動すると、サーバーはルート "/hello" でgetリクエストを受信し、Expressアプリはこのルートにアタッチされた callback 関数を実行して* "Hello World ! "*応答として。

こんにちは

同じルートで複数の異なるメソッドを使用することもできます。 例えば、

var express = require('express');
var app = express();

app.get('/hello', function(req, res){
   res.send("Hello World!");
});

app.post('/hello', function(req, res){
   res.send("You just called the post method at '/hello'!\n");
});

app.listen(3000);

この要求をテストするには、端末を開き、cURLを使用して次の要求を実行します-

curl -X POST "http://localhost:3000/hello"

Curlリクエスト

Expressは、同じ関数を使用して特定のルートですべてのタイプのhttpメソッドを処理する特別なメソッド all を提供します。 この方法を使用するには、次を試してください。

app.all('/test', function(req, res){
   res.send("HTTP method doesn't have any effect on this route!");
});

この方法は、一般にミドルウェアの定義に使用されます。ミドルウェアの章で説明します。

ルーター

上記のようなルートの定義は、維持するのが非常に面倒です。 メインの index.js ファイルからルートを分離するには、 Express.Router を使用します。 things.js という新しいファイルを作成し、次のように入力します。

var express = require('express');
var router = express.Router();

router.get('/', function(req, res){
   res.send('GET route on things.');
});
router.post('/', function(req, res){
   res.send('POST route on things.');
});

//export this router to use in our index.js
module.exports = router;
*index.js* でこのルーターを使用するには、 *app.listen* 関数呼び出しの前に次を入力します。
var express = require('Express');
var app = express();

var things = require('./things.js');

//both index.js and things.js should be in same directory
app.use('/things', things);

app.listen(3000);

ルート '/things'app.use 関数呼び出しは、 things ルーターをこのルートにアタッチします。 これで、アプリが「/things」で取得したリクエストはすべて、things.jsルーターで処理されます。 things.jsの '/' ルートは、実際には '/things’のサブルートです。 localhost:3000/things/にアクセスすると、次の出力が表示されます。

ルーターのこと

ルーターは、懸念事項を分離し、コードの関連部分をまとめるのに非常に役立ちます。 メンテナンス可能なコードの構築に役立ちます。 エンティティに関連するルートを単一のファイルで定義し、上記のメソッドを使用して index.js ファイルに含める必要があります。