NodeJs中express框架里面app.locals全局变量的问题

问题遇到的现象和发生背景

Express框架中,在进行用户登录的时候,需要把用户的名字传递到 网页头部,由于头部是单独分离出来的模板(header.art),无法单独传递一个模板参数去设置,只能通过app.locals 去传递全局变量

问题相关代码,请勿粘贴截图

const app = express();

req.app.locals.info = email //用户名字传递到全局变量,登录之后把email设置全局变量,所有模板都可以访问

header.art模板

{{ info?info:'Login'}} 此处拿到info变量

运行结果及报错内容

1、运行后发现,浏览器1访问登录后,app.locals.info = XX1@qq.com ,是可以显示:XX1@qq.com
2、当浏览器2(模拟第二个用户)请求反过来的时候,app.locals.info还是XX1@qq.com(用户2没有单独设置app.locals)

我的解答思路和尝试过的方法

1、我的理解按照express的框架,每个请求都是独立的(单个线程),第一个用户访问后设置的app.locals是吧变量设置在app上了(app启动后是失效的),只要是app启动了,下面的所有线程都是可以修改app.locals变量的

我想要达到的结果

当每个请求过来的时候传递一个全局变量(给头部模板访问,请求之间互相不干扰,不然我要每个路由都写传递一个变量,实在太麻烦了),如何实现呢?百度了很久都没有想要的答案