嗨,我有一些关于在Express中使用res(Express响应对象)和res.locals的新手问题.
在其中一个代码示例中研究nodejs时有一个中间件(messages.js),一个服务器(app.js)和模板(messages.ejs).查看模板的示例代码.看来虽然message和removeMessages()被分配给res.locals.您可以使用消息或removeMessages()访问它们,而无需使用locals作为前缀.我想知道以下内容:
示例代码
messages.js
var express = require('express');
var res = express.response;
res.message = function (msg, type) {
type = type || 'info'
var sess = this.req.session;
sess.messages = sess.messages || [];
sess.messages.push({
type: type,
string: msg
});
};
res.error = function (msg) {
return this.message(msg, 'error');
};
module.exports = function (req, res, next) {
res.locals.messages = req.session.messages || [];
res.locals.removeMessages = function () {
req.session.messages = [];
};
next();
};
Run Code Online (Sandbox Code Playgroud)
app.js(部分代码)
var express = require('express');
var messages …
Run Code Online (Sandbox Code Playgroud)