Express.js 中的`res.locals` 属性


res.locals 是一个包含响应局部变量的对象,这些变量仅作用于请求,因此仅对该请求或响应周期期间呈现的视图可用。

此属性在公开请求级信息(如请求路径名、用户设置、已验证用户等)时很有用。

语法

res.locals

示例 1

创建一个名为 "resLocals.js" 的文件,并复制以下代码片段。创建文件后,使用命令 "node resLocals.js" 运行此代码,如下例所示 −

// res.locals Property Demo Example

// Importing the express module
var express = require('express');

// Initializing the express and port number
var app = express();

// Initializing the router from express
var router = express.Router();
var PORT = 3000;

// Defining an endpoint
app.get('/api', function (req, res) {
   res.locals = 'Welcome to TutorialsPoint';
   console.log(res.locals);
   res.end(res.locals);
});
app.listen(PORT, function(err){
   if (err) console.log(err);
   console.log("Server listening on PORT", PORT);
});

使用 GET 请求访问以下端点 − localhost:3000/api

输出

C:\home
ode>> node resLocals.js Server listening on PORT 3000 Welcome to TutorialsPoint

示例 2

我们再看一个示例。

// res.locals Property Demo Example

// Importing the express module
var express = require('express');

// Initializing the express and port number
var app = express();

// Initializing the router from express
var router = express.Router();
var PORT = 3000;

// Defining an endpoint
app.get('/api', function (req, res) {

   // Defininf multiple locals
   res.locals.name = 'Mayank';
   res.locals.age = 21;
   res.locals.gender = 'Male'
   console.log(res.locals);
   res.send(res.locals);
});
app.listen(PORT, function(err){
   if (err) console.log(err);
   console.log("Server listening on PORT", PORT);
});

使用 GET 请求访问以下端点 − localhost:3000/api

输出

C:\home
ode>> node resLocals.js Server listening on PORT 3000 [Object: null prototype] { name: 'Mayank', age: 21, gender: 'Male' }

更新于: 2022-01-29

7K+ 浏览量

开启 职业生涯

完成课程即可获得认证

开始
广告
© . All rights reserved.