// 不推荐使用 app.locals.user = req.session.user; 避免别的客户端访问也拿到了 user,造成环境污染
app.use(function(req, res, next) {
res.locals.user = req.session.user;
next();
})
app.use(function(req, res, next) {
res.locals.user = req.session.user;
next();
})
2017-07-18
app.locals 与 res.locals
一旦设定,app.locals 的各属性值将贯穿程序的整个生命周期,与其相反的是 res.locals,它只在这次请求的生命周期中有效。
在程序中,你可以在渲染模板时使用这些本地变量。它们是非常有用的,可以为模板提供一些有用的方法,以及app级别的数据。
通过req.app.locals(具体查看req.app),Locals 可以在中间件中使用。
一旦设定,app.locals 的各属性值将贯穿程序的整个生命周期,与其相反的是 res.locals,它只在这次请求的生命周期中有效。
在程序中,你可以在渲染模板时使用这些本地变量。它们是非常有用的,可以为模板提供一些有用的方法,以及app级别的数据。
通过req.app.locals(具体查看req.app),Locals 可以在中间件中使用。
2017-07-18
* 用户注册逻辑
* 先拿到 post 过来的 name、password 值,去数据库中查询,
* 若 name 存在,返回 “用户名已存在”;
* 若 name 不存在,就存到数据库,返回 “注册成功”。
* 先拿到 post 过来的 name、password 值,去数据库中查询,
* 若 name 存在,返回 “用户名已存在”;
* 若 name 不存在,就存到数据库,返回 “注册成功”。
2017-07-17
* 用户登录逻辑
* 先拿到 post 过来的 name、password 值,去数据库中查询,
* 若 name 不存在,返回 “用户名不存在”;
* 若 name 存在,将 post 过来的 password 值与 数据库中的 password 值比对
* 若不一致,返回 “密码错误”;
* 若一直,返回 “登录成功”。
* 先拿到 post 过来的 name、password 值,去数据库中查询,
* 若 name 不存在,返回 “用户名不存在”;
* 若 name 存在,将 post 过来的 password 值与 数据库中的 password 值比对
* 若不一致,返回 “密码错误”;
* 若一直,返回 “登录成功”。
2017-07-17
express deprecated req.param(name): Use req.params, req.body, or req.query instead app.js:187:23
req.param() 已被弃用
使用 req.params 返回 url user/:id 中的 id
使用 req.body 返回 html 页面的对象 name=user[pwd]
使用 req.query 返回 url user?id=003 中的 003
req.param() 已被弃用
使用 req.params 返回 url user/:id 中的 id
使用 req.body 返回 html 页面的对象 name=user[pwd]
使用 req.query 返回 url user?id=003 中的 003
2017-07-17
## 在项目中安装
npm install grunt --save-dev
npm install grunt-cli --save-dev
# 运行
grunt
npm install grunt --save-dev
npm install grunt-cli --save-dev
# 运行
grunt
2017-07-17