2016-06-24 4 views
0

私はMEANJS技術の開発に着手しました。私は身体解析と表現セッションのいくつかの機能についてはっきりしていません。私も彼らの公式サイトを通過するが、まだ明確ではない。その機能は次のとおりです。 -Body ParserとExpressセッションの操作方法NodeJsミドルウェア機能

bodyParser.urlencoded({ 拡張:true});

bodyParser.json()

expressSession({再保存:真、saveUninitialized:真、})

いくつかの場所が意志bodyParser.urlencoded({ extended: false })expressSession({ resave: false, saveUninitialized: false, })います。ここでbooleanを使用する場合は、の例と説明してください。それでは、もっと明確になるでしょう。

答えて

4

ミドルウェアbody-parser

一般的には、このミドルウェアは、着信HTTPリクエストのボディを解析し、あなたのルートやミドルウェアで利用可能であるreq.bodyプロパティを移入します。

body-parserは、さまざまなタイプのリクエストボディに対して異なるパーサーを提供します。あなたは次のように記述した場合:

var express = require('express'); 
var bodyParser = require('body-parser'); 

var app = express(); 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({extended: false})); 

最初app.use()はJSONボディパーサーを含みます2つ目は、URLエンコード形式のボディパーサーが含まれます。あなたが必要とするパーサーは、サーバーが処理しなければならない要求の種類によって異なります。 extended: falseextended: trueの違いは、すでにthis answerで説明されています。

ミドルウェアexpress-session

本ミドルウェアは、あなたの急行アプリでセッションとセッションデータを処理するための簡単な方法を提供します。 2つの構成プロパティーresavesaveUninitializedは、ユーザーのセッション・データを格納する方法に影響します(express-session)。

例:新しいユーザーがあなたのウェブサイトを訪れたとします。 express-sessionは、このユーザーがまだセッションを持っていないことを検出します。そのため、セッションIDとデータのみを含む新しいユーザーが作成されます。 saveUninitialized: trueを設定すると、このセッションは実際のセッションデータを含まずにセッションストアに保存されます。 saveUninitialized: falseは実際にいくつかの値を含むとすぐにセッションを保存します。 (単純に言って)

例:ここで、既存のセッションを持つユーザーがあなたのWebサイトにアクセスしているとします。一部のリソースは要求されますが、ユーザーのセッションデータは変更されません。いずれにしてもresave: trueは変更されていないデータを保存しますが、resave: falseは変更しません。

概要:app.use(expressSession({resave: false, saveUninitialized: false}));を設定すると、セッションストアがアクセスされる回数が減り、ハードウェアリソースとパフォーマンスに関する利点があります。したがって、ほとんどの場合、それらをfalseに設定する必要があります。

関連する問題