我已经开始研究MEANJS技术了.我一直不清楚身体解析和快速会话的一些功能.我也通过他们的官方网站,但仍然不清楚.这些功能是: -
bodyParser.urlencoded({extended:true});
bodyParser.json()
expressSession({resave:true,saveUninitialized:true,})
在某些地方它会bodyParser.urlencoded({ extended: false })
和expressSession({ resave: false, saveUninitialized: false, })
.现在使用这些时boolean
,请举例说明.所以它会更清楚.
中间件正文解析器:
通常,此中间件将解析传入的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}));
Run Code Online (Sandbox Code Playgroud)
第一个app.use()
将包括JSON主体解析器,第二个将包括URL编码的表单主体解析器.您需要的解析器取决于您的服务器必须处理的请求类型.关于extended: false
和extended: true
已经在这个答案中解释的差异.
中间件快递:
此中间件提供了一种在快速应用程序中处理会话和会话数据的简便方法.这两个配置属性resave
和saveUninitialized
影响力的方式express-session
存储用户的会话数据.
示例:假设有新用户访问您的网站.express-session
检测到此用户还没有会话,因此它将创建一个仅包含会话ID且没有数据的新会话.如果设置saveUninitialized: true
此会话将存储在会话存储中,而不包含任何实际会话数据.saveUninitialized: false
只要实际包含某些值,它就会存储会话.(简单地说)
示例:现在假设具有现有会话的用户正在访问您的网站.请求了一些资源,但用户的会话数据没有变化.resave: true
将保存resave: false
未更改的数据,而不会.
简介:设置app.use(expressSession({resave: false, saveUninitialized: false}));
将减少访问会话存储的次数,这对硬件资源和性能有益.因此,在大多数情况下,您需要将它们设置为false
.
归档时间: |
|
查看次数: |
459 次 |
最近记录: |