Koa2怎么才能设置全局变量
如题,官方并没有ctx.response.locals用来设置全局变量。
11 回复
const Koa = require('koa');
const app = new Koa();
//作用和express中的app.locals = {//xxx} 一样,全局生效
app.context.state = Object.assign(app.context.state, {key1 : value1, key2: value2});
设置的值可以应用到模板中,koa-ejs会自动merge state 参数
如果是每次请求生命周期内生效,得用中间件了:
app.use((ctx, next)=>ctx.state = Object.assign(ctx.state, {key1: value1, key2: value2}))
我想问一个问题,就是
ctx.state.user = userData;
console.log(ctx.state);
ctx.redirect('/');
我想注册之后,把用户信息留在ctx.state对象里,然后,/页面可以访问到里面的值,但是发现redirect之后,访问不到,对ctx.state不太了解,有人可以可以帮忙解答一下吗?